CVE-2026-53493: Containerd has image-pull DoS via crafted OCI index graph amplification
Impact
A vulnerability exists in containerd's image pull handlers where a crafted OCI image index containing deeply nested or heavily fanned-out descriptor graphs can cause unbounded CPU and memory consumption. During the PullImage operation, the recursive traversal and processing of child descriptors lack sufficient depth and breadth limits, and fail to adequately deduplicate identical descriptors. This unbounded traversal leads to excessive resource allocation.
Consequently, pulling a malicious image reference can result in prolonged stalls during container creation and significant resource pressure on the host system. This issue occurs entirely during the image pull phase, prior to any container execution.
Patches
This bug has been fixed in containerd 2.4.1, 2.3.6, 2.2.9, 2.0.13, and 1.7.36. Users should update to these versions to resolve the issue.
Workarounds
There are no known workarounds for this issue. Users are advised to only pull trusted images from known registries until the patch can be applied.
Credits
The containerd project would like to thank Jakub Ciolek at ElevenLabs and @jlgore 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:
Open an issue in containerd Email us at security@containerd.io
To report a security issue in containerd: Report a new vulnerability Email us at security@containerd.io
Other sources
containerd is an open-source container runtime. Prior to versions 1.7.36, 2.0.13, 2.2.9, 2.3.6, and 2.4.1, a crafted OCI index graph can force very high CPU/memory usage during PullImage (before container start), causing long ContainerCreating stalls and, at larger sizes, node/runtime instability. Versions 1.7.36, 2.0.13, 2.2.9, 2.3.6, and 2.4.1 fix the issue.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.4.1 - Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.3.6 - Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.2.9 - Upgrade
Upgrade
go/github.com/containerd/containerdto a version that resolves this vulnerability.Fixed in 1.7.36 - Upgrade
Upgrade
go/github.com/containerd/containerd/v2to a version that resolves this vulnerability.Fixed in 2.0.13 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 1.7.36 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.0.13 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.2.9 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.3.6 - Upgrade
Upgrade
containerdto a version that resolves this vulnerability.Fixed in 2.4.1 - Compensating control
Until the patch can be applied, only pull trusted images from known registries.
Event History
Frequently Asked Questions
Which containerd versions need to be upgraded?
The issue is fixed in containerd 1.7.36, 2.0.13, 2.2.9, 2.3.6, and 2.4.1. Versions earlier than the corresponding fixed release are affected.
When does the resource exhaustion occur?
The high CPU and memory consumption occurs during PullImage, before a container starts. It can cause prolonged ContainerCreating stalls and, with larger crafted OCI index graphs, node or runtime instability.