{"id":"CVE-2026-95838","kind":"vulnerability","aliases":["CVE-2026-95838","GHSA-rp3h-jf77-q9p4","GO-2026-6796"],"related":[],"title":"containerd: Unpack DoS via repeated opaque whiteouts in github.com/containerd/containerd","description":"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.","summary":"containerd's layer unpack handler repeatedly traverses directories when processing certain opaque whiteout configurations in an image layer. A malicious image can make pulling or importing it consume CPU, slow container startup and reduce image-pull concurrency.","severity":"medium","cvss":4.6,"epss":0.00215,"exploited":false,"exploited_at":null,"products":[{"name":"github.com/containerd/containerd","fixed":["1.7.35"],"affected":"< 1.7.35","ecosystem":"go"},{"name":"github.com/containerd/containerd/v2","fixed":["2.0.12","2.2.8","2.3.5"],"affected":">= 2.3.0, < 2.3.5","ecosystem":"go"}],"ecosystems":["go"],"tags":["containerd","docker","go","kubernetes","package","self-hosted"],"not_affected_if":["images-from-trusted-registries-only","managed-hosting"],"how_to_check":"Check the containerd version on hosts that pull or import images: run containerd --version. Affected if below 1.7.35 for the 1.x line, or in the 2.3.0 to 2.3.4 range or below 2.2.8 or 2.0.12 on other lines.","fix":"Upgrade containerd to 1.7.35, 2.0.12, 2.2.8, or 2.3.5 depending on your release line. unknown for any other mitigation.","status":"open","published_at":"2026-10-12T20:17:10+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T20:03:14+00:00","updated_at":"2026-10-23T20:03:14+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T20:03:14Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade containerd to 1.7.35, 2.0.12, 2.2.8, or 2.3.5 depending on your release line. unknown for any other mitigation.","summary":"containerd's layer unpack handler repeatedly traverses directories when processing certain opaque whiteout configurations in an image layer. A malicious image can make pulling or importing it consume CPU, slow container startup and reduce image-pull concurrency.","category":"package","who_cares":["containerd","kubernetes","docker","self-hosted","go"],"confidence":0.8,"analyst_note":"","how_to_check":"Check the containerd version on hosts that pull or import images: run containerd --version. Affected if below 1.7.35 for the 1.x line, or in the 2.3.0 to 2.3.4 range or below 2.2.8 or 2.0.12 on other lines.","needs_analyst":false,"not_affected_if":["managed-hosting","images-from-trusted-registries-only"],"severity_if_unknown":"medium"},"cost_usd":0.000404,"input_tokens":2298,"output_tokens":348,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,21A,24A '-6796':22A '-95838':14A,25A '/containerd/containerd':11A,28A '/containerd/containerd/v2':31A '1.7.35':88C,146C '2.0.12':89C,147C '2.2.8':90C,148C '2.3.5':92C,150C 'certain':50B,102C 'concurr':77B,136C 'configur':53B,105C 'consum':67B,126C 'contain':70B,84C,129C 'containerd':1A,32B,40B,78C,93C 'cpu':68B,127C 'cve':12A,23A 'delay':128C 'deploy':139C 'directori':47B,100C,113C 'docker':33B 'dos':3A 'fix':143C 'ghsa':16A 'ghsa-rp3h-jf77-q9p4':15A 'github.com':10A,27A,30A 'github.com/containerd/containerd':9A,26A 'github.com/containerd/containerd/v2':29A 'go':20A,34B 'handler':44B,97C 'host':39B 'imag':56B,60B,75B,108C,124C,134C 'image-pul':74B,133C 'import':65B,122C 'issu':141C 'jf77':18A 'kubernet':35B 'layer':42B,57B,95C,109C 'make':62B 'malici':59B,107C 'opaqu':6A,51B,103C,116C 'open':82C 'open-sourc':81C 'packag':36B 'prior':86C 'process':49B,119C 'pull':63B,76B,120C,135C 'q9p4':19A 'reduc':73B,132C 'repeat':5A,45B,98C,112C 'rp3h':17A 'runtim':85C 'self':38B 'self-host':37B 'slow':69B 'sourc':83C 'startup':71B,130C 'travers':46B,99C,114C 'trigger':111C 'unpack':2A,43B,96C 'unrel':138C 'version':145C 'via':4A 'whiteout':7A,52B,104C,117C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-12T20:17:10+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"govuln","external_id":"GO-2026-6796","url":"https://pkg.go.dev/vuln/GO-2026-6796","severity":null,"published_at":"2026-10-19T21:08:35+00:00","modified_at":"2026-10-19T21:08:35+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-95838","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-95838","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-95838","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-95838","severity":null,"published_at":"2026-10-12T20:17:10+00:00","modified_at":"2026-10-16T16:00:33+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}