VDB
Sign up
MEDIUM

GHSA-pg57-6jwg-q645

Containerd has image-pull DoS via crafted OCI index graph amplification

Quick fix

GHSA-pg57-6jwg-q645 — github.com/containerd/containerd/v2: upgrade to the fixed version with the command below.

go get github.com/containerd/containerd/v2@v2.0.13

Details

### 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](https://github.com/containerd/project/blob/main/SECURITY.md).

### For more information

If you have any questions or comments about this advisory:

* Open an issue in [containerd](https://github.com/containerd/containerd/issues/new/choose) * Email us at [security@containerd.io](mailto:security@containerd.io)

To report a security issue in containerd: * [Report a new vulnerability](https://github.com/containerd/containerd/security/advisories/new) * Email us at [security@containerd.io](mailto:security@containerd.io)

Are you affected?

Enter the version of the package you're using.

Affected packages

Go/github.com/containerd/containerd/v2
Introduced in: 2.0.0Fixed in: 2.0.13
Fixgo get github.com/containerd/containerd/v2@v2.0.13
Go/github.com/containerd/containerd
Introduced in: 0Fixed in: 1.7.36
Fixgo get github.com/containerd/containerd@v1.7.36
Go/github.com/containerd/containerd/v2
Introduced in: 2.1.0Fixed in: 2.2.9
Fixgo get github.com/containerd/containerd/v2@v2.2.9
Go/github.com/containerd/containerd/v2
Introduced in: 2.3.0Fixed in: 2.3.6
Fixgo get github.com/containerd/containerd/v2@v2.3.6
Go/github.com/containerd/containerd/v2
Introduced in: 2.4.0Fixed in: 2.4.1
Fixgo get github.com/containerd/containerd/v2@v2.4.1

References