Skip to content
Heist/ feed
Back to feed
MediumFix available

containerd: Unpack DoS via repeated opaque whiteouts

Type: advisorySources: OSV

### 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](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:secur

Products
github.com/containerd/containerd, github.com/containerd/containerd/v2
Affected versions
Not specified
Fixed versions
1.7.35, 2.0.12, 2.2.8, 2.3.5
CVEs
CVE-2026-95838
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 08:44 UTC · Revision 1

Source evidence

containerd: Unpack DoS via repeated opaque whiteouts

core-osv · Original source

Published 15 Oct 2026, 20:22 UTC

### 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](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:secur

osv:GHSA-rp3h-jf77-q9p4

github.com/containerd/containerd/v2

Fixed versions: 2.0.12

github.com/containerd/containerd

Fixed versions: 1.7.35

github.com/containerd/containerd/v2

Fixed versions: 2.2.8

github.com/containerd/containerd/v2

Fixed versions: 2.3.5

Complete source record
{
  "id": "4b7d9f665578dd612f0c4a35634ab6ed6afcacee25858cd66c8a126b85f822aa",
  "url": "https://osv.dev/vulnerability/GHSA-rp3h-jf77-q9p4",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "containerd: Unpack DoS via repeated opaque whiteouts",
    "summary": "### 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](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:secur",
    "evidence": "osv:GHSA-rp3h-jf77-q9p4",
    "products": [
      {
        "name": {
          "value": "github.com/containerd/containerd/v2",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.0.12",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "github.com/containerd/containerd",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "1.7.35",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "github.com/containerd/containerd/v2",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.2.8",
            "evidence": "/affected/2/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "github.com/containerd/containerd/v2",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.3.5",
            "evidence": "/affected/3/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "GHSA-rp3h-jf77-q9p4",
      "aliases": [
        "CVE-2026-95838",
        "GHSA-rp3h-jf77-q9p4",
        "GO-2026-6796"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.0.12"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/containerd/containerd/v2",
            "purl": "pkg:golang/github.com/containerd/containerd/v2",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-rp3h-jf77-q9p4/GHSA-rp3h-jf77-q9p4.json"
          }
        },
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "1.7.35"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/containerd/containerd",
            "purl": "pkg:golang/github.com/containerd/containerd",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-rp3h-jf77-q9p4/GHSA-rp3h-jf77-q9p4.json"
          }
        },
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "2.2.0"
                },
                {
                  "fixed": "2.2.8"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/containerd/containerd/v2",
            "purl": "pkg:golang/github.com/containerd/containerd/v2",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-rp3h-jf77-q9p4/GHSA-rp3h-jf77-q9p4.json"
          }
        },
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "2.3.0"
                },
                {
                  "fixed": "2.3.5"
                }
              ]
            }
          ],
          "package": {
            "name": "github.com/containerd/containerd/v2",
            "purl": "pkg:golang/github.com/containerd/containerd/v2",
            "ecosystem": "Go"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-rp3h-jf77-q9p4/GHSA-rp3h-jf77-q9p4.json"
          }
        }
      ],
      "modified": "2026-10-19T21:40:52.337183596Z",
      "provider": "osv",
      "references": [
        "https://github.com/containerd/containerd/security/advisories/GHSA-rp3h-jf77-q9p4",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-95838",
        "https://github.com/containerd/containerd/commit/e6ca378dcfa610d06589a3ac96aa992de866e4f0",
        "https://github.com/containerd/containerd"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400",
          "CWE-407"
        ],
        "severity": "MODERATE",
        "github_reviewed": true,
        "nvd_published_at": "2026-10-12T20:17:10Z",
        "github_reviewed_at": "2026-10-15T20:22:05Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-95838",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 376745,
  "published_at": "2026-10-15T20:22:05+00:00"
}