Impact
containerd is an open‑source container runtime. Versions prior to 2.3.2, 2.2.5 and 2.1.9 contain a flaw in the CRI checkpoint import process where containerd does not validate the image references specified within a checkpoint image’s configuration. An attacker who can create pods can craft a checkpoint image to force containerd to pull a malicious image and assign it an arbitrary local tag, poisoning the node’s local image cache. Later pods on the same node that try to use the poisoned tag with an IfNotPresent or Never pull policy will unknowingly execute the attacker’s image instead of the intended one, enabling the attacker to run arbitrary code within the pod’s namespace. This issue has been fixed in versions 2.3.2, 2.2.5 and 2.1.9.
Affected Systems
containerd:containerd versions older than 2.3.2, 2.2.5, or 2.1.9 are affected. These releases lack the patch that enforces validation of image references during checkpoint import. The vulnerability applies to any system running containerd with checkpoint import enabled.
Risk and Exploitability
The CVSS score of 5.6 indicates a moderate severity, and the EPSS score of less than 1% suggests a low probability of exploitation at the present time. The vulnerability is not listed in the CISA KEV catalog. An attacker only needs permission to create pods, a relatively low barrier in many cluster configurations, and then must import a specially crafted checkpoint image to inject a malicious image into the node’s local cache. Subsequent pods that use the poisoned tag will execute that image, effectively delivering arbitrary code to the pod’s user space.
OpenCVE Enrichment
Github GHSA
Ubuntu USN