containerd: CRI checkpoint import allows local image tag poisoning
Moderate severity
GitHub Reviewed
Published
Jun 18, 2026
in
containerd/containerd
•
Updated Jul 21, 2026
Package
Affected versions
>= 2.1.0, < 2.1.9
>= 2.2.0, < 2.2.5
>= 2.3.0, < 2.3.2
Patched versions
2.1.9
2.2.5
2.3.2
Description
Published to the GitHub Advisory Database
Jun 19, 2026
Reviewed
Jun 19, 2026
Published by the National Vulnerability Database
Jul 1, 2026
Last updated
Jul 21, 2026
Impact
containerd's CRI checkpoint import process contains a vulnerability where it fails to validate the image references specified within a checkpoint image's configuration. An attacker with permissions to create pods can use a crafted checkpoint image to force containerd to pull a malicious image and assign it an arbitrary local tag, thereby poisoning the node's local image cache. Subsequently, if other pods on the same node attempt to use the poisoned tag with an
IfNotPresent(orNever) pull policy, they will unknowingly execute the attacker's malicious image instead of the legitimate one. This can lead to a compromise of the affected pods, allowing the attacker to execute arbitrary code under the victim pod's identity.Patches
This bug has been fixed in the following containerd versions:
Users should update to these versions to resolve the issue.
Workarounds
Users should only allow trusted images to be pulled.
Credits
The containerd project would like to thank Henry Beberman (@hbeberman) of Microsoft, the GKE Security Team using Gemini, Anthropic Research, in collaboration with Claude, and Robert Prast (@robertprast) who independently discovered and responsibly disclosed this issue in accordance with the containerd security policy.
For more information
If you have any questions or comments about this advisory:
To report a security issue in containerd:
References