{"id":"CVE-2024-21626","published":"2024-01-31T21:31:14Z","modified":"2026-09-17T12:04:33Z","title":"runc container breakout through process.cwd trickery and leaked fds","vendor":"opencontainers","product":"runc","tier":"core","eol":null,"affectedVersions":[{"vendor":"opencontainers","product":"runc","versions":[">=v1.0.0-rc93, < 1.1.12"]}],"description":{"text":"runc is a CLI tool for spawning and running containers on Linux according to the OCI specification. In runc 1.1.11 and earlier, due to an internal file descriptor leak, an attacker could cause a newly-spawned container process (from runc exec) to have a working directory in the host filesystem namespace, allowing for a container escape by giving access to the host filesystem (\"attack 2\"). The same attack could be used by a malicious image to allow a container process to gain access to the host filesystem through runc run (\"attack 1\"). Variants of attacks 1 and 2 could be also be used to overwrite semi-arbitrary host binaries, allowing for complete container escapes (\"attack 3a\" and \"attack 3b\"). runc 1.1.12 includes patches for this issue.","provenance":"source","from":"CVE.org"},"summary":{"text":"The flaw is an internal file descriptor leak in runc, the Linux CLI tool for spawning and running OCI containers, affecting version 1.1.11 and earlier. An attacker who can get a container process started with the leaked descriptor (via runc exec, or through a malicious image run with runc run) can obtain a working directory in the host filesystem namespace, allowing a container escape and access to the host filesystem, with variants able to overwrite host binaries for a complete escape; exploitation requires local access and some user interaction, and the fix is in runc 1.1.12.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-31T05:10:33Z"},"cvss":{"score":8.6,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.18923,"percentile":0.97294,"date":"2026-10-30","provenance":"source"},"kev":null,"vulncheckKev":{"dateAdded":"2024-05-07","exploitedFirstSeen":"2024-05-07","ransomware":false,"evidence":[{"url":"https://securelist.com/vulnerability-report-q1-2024/112554/","date":"2024-05-07"},{"url":"https://www.redhat.com/rhdc/managed-files/rh-product-security-risk-report-2024-1880602pr-202504-en%20%281%29.pdf","date":"2025-04-11"},{"url":"https://securelist.com/container-attack-vectors/120010/","date":"2026-06-01"}],"evidenceTotal":3,"provenance":"source"},"exploited":true,"otx":{"pulseCount":5,"pulses":[{"name":"Spam “Broken Seal” DocuSign-themed Delivery w/Fileless Process Hollowing (Zeppelin/Bloat-A) by msudosos","url":"https://otx.alienvault.com/pulse/69bf64eccb5d39a90a3c391e","created":"2026-03-22"},{"name":"Spam “Broken Seal” DocuSign-themed Delivery w/Fileless Process Hollowing (Zeppelin/Bloat-A) by msudosos","url":"https://otx.alienvault.com/pulse/69bf64e1d5e06aa6207f78de","created":"2026-03-22"},{"name":"“Broken Seal” DocuSign-themed Delivery with Fileless Process Hollowing (Zeppelin/Bloat-A)","url":"https://otx.alienvault.com/pulse/698e93e1ab02db8c49e8c3ed","created":"2026-02-13"},{"name":"ACTUALIZACION  IBM Watson Speech Services Cartridge for IBM Cloud Pak for Data is vulnerable to multiple Operator package issues","url":"https://otx.alienvault.com/pulse/661d97bab11ed8d2c64cdfd6","created":"2024-04-15"},{"name":"ACTUALIZACION |  container-tools:rhel8 security update | Red Hat","url":"https://otx.alienvault.com/pulse/65c688ff2d367ad9e930e62d","created":"2024-02-09"}],"provenance":"machine"},"cwes":[{"id":"CWE-403","name":"Exposure of File Descriptor to Unintended Control Sphere"},{"id":"CWE-668","name":"Exposure of Resource to Wrong Sphere"},{"id":"CWE-200","name":"Exposure of Sensitive Information to an Unauthorized Actor"}],"references":[{"url":"https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/opencontainers/runc/commit/02120488a4c0fc487d1ed2867e901eeed7ce8ecf","tags":["x_refsource_MISC"]},{"url":"https://github.com/opencontainers/runc/releases/tag/v1.1.12","tags":["x_refsource_MISC"]},{"url":"http://www.openwall.com/lists/oss-security/2024/02/01/1","tags":[]},{"url":"http://www.openwall.com/lists/oss-security/2024/02/02/3","tags":[]},{"url":"http://packetstormsecurity.com/files/176993/runc-1.1.11-File-Descriptor-Leak-Privilege-Escalation.html","tags":[]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SYMO3BANINS6RGFQFKPRG4FIOJ7GWYTL/","tags":[]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2NLXNE23Q5ESQUAI22Z7A63JX2WMPJ2J/","tags":[]},{"url":"https://lists.debian.org/debian-lts-announce/2024/02/msg00005.html","tags":[]},{"url":"https://www.vicarius.io/vsociety/posts/leaky-vessels-part-1-cve-2024-21626","tags":[]},{"url":"https://access.redhat.com/security/cve/CVE-2024-21626","tags":["vdb-entry","x_refsource_REDHAT"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2258725","tags":["issue-tracking","x_refsource_REDHAT"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-21626.json","tags":["x_sadp-csaf-vex"]},{"url":"https://access.redhat.com/errata/RHSA-2024:1270","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0717","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:4597","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0684","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2025:2441","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0666","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2025:2701","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0662","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2025:2710","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0645","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2025:1711","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:10525","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:10841","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:10149","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2025:0650","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:10520","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2025:0115","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0758","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0760","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0757","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0764","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0759","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0748","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0752","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0756","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0755","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://access.redhat.com/errata/RHSA-2024:0670","tags":["vendor-advisory","x_refsource_REDHAT"]}],"techniques":[],"reports":[],"affected":[{"ecosystem":"Go","package":"github.com/opencontainers/runc","vulnerableRanges":[">=1.0.0-rc93, <1.1.12"],"patched":["1.1.12"],"from":["GHSA-xr7r-f8xq-vfvv","GO-2024-2491"],"provenance":"source"}],"advisories":[{"id":"GHSA-xr7r-f8xq-vfvv","url":"https://github.com/advisories/GHSA-xr7r-f8xq-vfvv","severity":"HIGH","ecosystem":"Go","package":"github.com/opencontainers/runc","vulnerableRanges":[">=1.0.0-rc93, <1.1.12"],"patched":["1.1.12"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2024-0459","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-0459","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":16,"skipped":4,"earliest":"2024-02-01","earliestUrl":"https://github.com/zpxlz/CVE-2024-21626-POC","repos":[{"name":"NitroCao/CVE-2024-21626","url":"https://github.com/NitroCao/CVE-2024-21626","stars":80,"created":"2024-02-01"},{"name":"V0WKeep3r/CVE-2024-21626-runcPOC","url":"https://github.com/V0WKeep3r/CVE-2024-21626-runcPOC","stars":6,"created":"2024-02-05"},{"name":"cdxiaodong/CVE-2024-21626","url":"https://github.com/cdxiaodong/CVE-2024-21626","stars":5,"created":"2024-02-02"},{"name":"zhangguanzhang/CVE-2024-21626","url":"https://github.com/zhangguanzhang/CVE-2024-21626","stars":4,"created":"2024-02-02"},{"name":"laysakura/CVE-2024-21626-demo","url":"https://github.com/laysakura/CVE-2024-21626-demo","stars":3,"created":"2024-02-02"}]},"metasploit":[{"name":"runc (docker) File Descriptor Leak Privilege Escalation","module":"exploit/linux/local/runc_cwd_priv_esc","type":"exploit","disclosureDate":"2024-01-31","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/local/runc_cwd_priv_esc.rb"}],"first":{"date":"2024-01-31","source":"Metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/local/runc_cwd_priv_esc.rb"},"provenance":"source"},"exploitRefs":["http://packetstormsecurity.com/files/176993/runc-1.1.11-File-Descriptor-Leak-Privilege-Escalation.html"],"flow":[],"timeline":[{"date":"2024-01-31","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2024-21626","provenance":"source"},{"date":"2024-01-31","kind":"exploit-public","label":"First public exploit: Metasploit; later: PoC-in-GitHub 2024-02-01","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/local/runc_cwd_priv_esc.rb","provenance":"source"},{"date":"2024-05-07","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://securelist.com/vulnerability-report-q1-2024/112554/","provenance":"source"}],"speed":{"daysToPublicExploit":0,"firstExploitFrom":"Metasploit","daysToKev":null},"priority":{"score":67.2,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 907 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.46,"detail":"percentile 0.9729"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"1 NVD exploit link; 16 PoC-in-GitHub repos; 1 Metasploit module"},{"name":"Mentioned in OTX pulses","points":1.77,"detail":"5 pulses"},{"name":"CVSS severity","points":6.02,"detail":"base score 8.6"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]},"lineage":{"familyId":"fam-opencontainers-runc-cve-2016-9962","parents":[{"from":"CVE-2016-9962","to":"CVE-2024-21626","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["libcontainer/init_linux.go","libcontainer/setns_init_linux.go","libcontainer/standard_init_linux.go"],"commits":["https://github.com/opencontainers/runc/commit/50a19c6ff828c58e5dab13830bd3dacde268afe5","https://github.com/opencontainers/runc/commit/5d93fed3d27f1e2bab58bad13b180a7a81d0b378","https://github.com/opencontainers/runc/commit/02120488a4c0fc487d1ed2867e901eeed7ce8ecf"],"basis":"shared function","functions":["Init"]}]},{"from":"CVE-2021-43784","to":"CVE-2024-21626","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["libcontainer/container_linux.go","libcontainer/init_linux.go","libcontainer/standard_init_linux.go"],"commits":["https://github.com/opencontainers/runc/commit/9c444070ec7bb83995dbc0185da68284da71c554","https://github.com/opencontainers/runc/commit/d72d057ba794164c3cce9451a00b72a78b25e1ae","https://github.com/opencontainers/runc/commit/02120488a4c0fc487d1ed2867e901eeed7ce8ecf"],"basis":"shared function","functions":["Init"]}]}],"children":[{"from":"CVE-2024-21626","to":"CVE-2025-52881","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["libcontainer/standard_init_linux.go","libcontainer/utils/utils_unix.go"],"commits":["https://github.com/opencontainers/runc/commit/02120488a4c0fc487d1ed2867e901eeed7ce8ecf","https://github.com/opencontainers/runc/commit/ff94f9991bd32076c871ef0ad8bc1b763458e480","https://github.com/opencontainers/runc/commit/ff6fe1324663538167eca8b3d3eec61e1bd4fa51"],"basis":"shared function","functions":["Init"]}]}],"packageHistory":[{"cve":"CVE-2023-25809","published":"2023-03-29","fixed":"1.1.5","kev":false,"link":{"from":"CVE-2023-25809","to":"CVE-2024-21626","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Go:github.com/opencontainers/runc","fromFixed":"1.1.5","toFixed":"1.1.12","daysApart":308}]}},{"cve":"CVE-2023-27561","published":"2023-03-03","fixed":"1.1.5","kev":false},{"cve":"CVE-2023-28642","published":"2023-03-29","fixed":"1.1.5","kev":false},{"cve":"CVE-2024-21626","published":"2024-01-31","fixed":"1.1.12","kev":false},{"cve":"CVE-2024-45310","published":"2024-09-03","fixed":"1.2.0-rc.3","kev":false,"link":{"from":"CVE-2024-21626","to":"CVE-2024-45310","relation":"successor","confidence":"high","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Go:github.com/opencontainers/runc","fromFixed":"1.1.12","toFixed":"1.1.14","daysApart":216},{"kind":"same-code","provenance":"machine","files":["libcontainer/container_linux.go","libcontainer/utils/utils_unix.go"],"commits":["https://github.com/opencontainers/runc/commit/02120488a4c0fc487d1ed2867e901eeed7ce8ecf","https://github.com/opencontainers/runc/commit/63c2908164f3a1daea455bf5bcd8d363d70328c7","https://github.com/opencontainers/runc/commit/8781993968fd964ac723ff5f360b6f259e809a3e"],"basis":"shared file"}]}},{"cve":"CVE-2025-31133","published":"2025-11-06","fixed":"1.4.0-rc.3","kev":false},{"cve":"CVE-2025-52565","published":"2025-11-06","fixed":"1.4.0-rc.3","kev":false}],"package":"Go:github.com/opencontainers/runc"}}