CVE-2026-95838: containerd: Unpack DoS via repeated opaque whiteouts

Published Oct 12, 2026
·
Updated

Impact

A vulnerability exists in containerd's layer unpack handler where the processing of certain image layers causes superlinear time complexity. During the unpack operation, specific file configurations within the layer can trigger repeated directory traversals.

Consequently, pulling or importing a maliciously crafted image can result in increased unpack times and a moderate increase in CPU usage. This delays container startup, even if the compressed image layers are small. Additionally, in orchestrators like Kubernetes that apply concurrency limits to image pulls, these excessively long operations can reduce the available concurrency for other pulls, potentially delaying unrelated container deployments.

Patches

This bug has been fixed in containerd 2.3.5, 2.2.8, 2.0.12, and 1.7.35. 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 and import trusted images from known registries until the patch can be applied.

Credits

The containerd project would like to thank Jakub Ciolek of AlphaSense for responsibly disclosing 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 1.7.35, 2.0.12, 2.2.8, and 2.3.5, containerd's layer unpack handler repeatedly traverses directories for certain opaque whiteout configurations. A malicious image layer can trigger repeated directory traversals while opaque whiteouts are processed. Pulling or importing the image can consume CPU, delay container startup, and reduce image-pull concurrency for unrelated deployments. This issue is fixed in versions 1.7.35, 2.0.12, 2.2.8, and 2.3.5.

— NVD

containerd: Unpack DoS via repeated opaque whiteouts

— Microsoft

Affected Software

15 affected componentsFixes available
containerd containerd<1.7.35, <2.0.12, <2.2.8, <2.3.5
go/github.com/containerd/containerd/v2>=2.3.0<2.3.5
2.3.5
go/github.com/containerd/containerd/v2>=2.2.0<2.2.8
2.2.8
go/github.com/containerd/containerd<1.7.35
1.7.35
go/github.com/containerd/containerd/v2<2.0.12
2.0.12
All of the following
azurelinux/moby-containerd-cc<1.7.7-19
1.7.7-19
Microsoft Azure Linux=3.0
All of the following
azurelinux/containerd2<2.3.7-1
2.3.7-1
Microsoft Azure Linux=3.0
All of the following
azurelinux/kata-containers-cc<3.15.0.aks0-24
3.15.0.aks0-24
Microsoft Azure Linux=3.0
All of the following
azurelinux/kata-containers<4.1.0.kata1-3
4.1.0.kata1-3
Microsoft Azure Linux=3.0
All of the following
azurelinux/moby-engine<25.0.18-2
25.0.18-2
Microsoft Azure Linux=3.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/containerd/containerd/v2 to a version that resolves this vulnerability.

    Fixed in 2.3.5
  2. Upgrade

    Upgrade go/github.com/containerd/containerd/v2 to a version that resolves this vulnerability.

    Fixed in 2.2.8
  3. Upgrade

    Upgrade go/github.com/containerd/containerd to a version that resolves this vulnerability.

    Fixed in 1.7.35
  4. Upgrade

    Upgrade go/github.com/containerd/containerd/v2 to a version that resolves this vulnerability.

    Fixed in 2.0.12
  5. Upgrade

    Upgrade azurelinux/moby-containerd-cc to a version that resolves this vulnerability.

    Fixed in 1.7.7-19
  6. Upgrade

    Upgrade azurelinux/containerd2 to a version that resolves this vulnerability.

    Fixed in 2.3.7-1
  7. Upgrade

    Upgrade azurelinux/kata-containers to a version that resolves this vulnerability.

    Fixed in 4.1.0.kata1-3
  8. Upgrade

    Upgrade azurelinux/kata-containers-cc to a version that resolves this vulnerability.

    Fixed in 3.15.0.aks0-24
  9. Upgrade

    Upgrade azurelinux/moby-engine to a version that resolves this vulnerability.

    Fixed in 25.0.18-2
  10. Upgrade

    Upgrade containerd to a version that resolves this vulnerability.

    Fixed in 2.3.5
  11. Compensating control

    Only pull and import trusted images from known registries until the patch can be applied

Event History

Oct 12, 2026
CVE Published
via MITRE·07:53 PM
Data Sourced
via MITRE·07:53 PM
DescriptionWeakness
Data Sourced
via OSV·07:53 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:17 PM
DescriptionSeverityWeakness
Oct 14, 2026
Data Sourced
via Microsoft·09:55 AM
DescriptionSeverityWeaknessAffected Software
Oct 15, 2026
Advisory Published
via GitHub·08:22 PM
Data Sourced
via GitHub·08:22 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which environments are exposed to this issue?

Environments running containerd versions earlier than 1.7.35, 2.0.12, 2.2.8, or 2.3.5 are affected when they pull or import a malicious image containing the relevant opaque whiteout layer configuration.

2

What does an attacker need to do to trigger the denial of service?

An attacker needs to provide a malicious container image layer configured with repeated opaque whiteouts and have that image pulled or imported. No privileges are required according to the supplied CVSS vector, but user interaction is required to initiate the pull or import.

3

What is the operational impact during exploitation?

Processing the malicious image can consume CPU through repeated directory traversals, delay container startup, and reduce image-pull concurrency for unrelated deployments.

4

What versions contain the fix?

Upgrade containerd to 1.7.35, 2.0.12, 2.2.8, or 2.3.5, as applicable to the release line in use.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203