CVE-2024-21626: runc vulnerable to container breakout through process.cwd trickery and leaked fds
(updated )
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”).
Strictly speaking, while attack 3a is the most severe from a CVSS perspective, attacks 2 and 3b are arguably more dangerous in practice because they allow for a breakout from inside a container as opposed to requiring a user execute a malicious image. The reason attacks 1 and 3a are scored higher is because being able to socially engineer users is treated as a given for UI:R vectors, despite attacks 2 and 3b requiring far more minimal user interaction (just reasonable runc exec operations on a container the attacker has access to). In any case, all four attacks can lead to full control of the host system.
References
- access.redhat.com/errata/RHSA-2024:0645
- access.redhat.com/errata/RHSA-2024:0662
- access.redhat.com/errata/RHSA-2024:0666
- access.redhat.com/errata/RHSA-2024:0670
- access.redhat.com/errata/RHSA-2024:0684
- access.redhat.com/errata/RHSA-2024:0717
- access.redhat.com/errata/RHSA-2024:0748
- access.redhat.com/errata/RHSA-2024:0752
- access.redhat.com/errata/RHSA-2024:0755
- access.redhat.com/errata/RHSA-2024:0756
- access.redhat.com/errata/RHSA-2024:0757
- access.redhat.com/errata/RHSA-2024:0758
- access.redhat.com/errata/RHSA-2024:0759
- access.redhat.com/errata/RHSA-2024:0760
- access.redhat.com/errata/RHSA-2024:0764
- access.redhat.com/errata/RHSA-2024:10149
- access.redhat.com/errata/RHSA-2024:10520
- access.redhat.com/errata/RHSA-2024:10525
- access.redhat.com/errata/RHSA-2024:10841
- access.redhat.com/errata/RHSA-2024:1270
- access.redhat.com/errata/RHSA-2024:4597
- access.redhat.com/errata/RHSA-2025:0115
- access.redhat.com/errata/RHSA-2025:0650
- access.redhat.com/errata/RHSA-2025:1711
- access.redhat.com/errata/RHSA-2025:2441
- access.redhat.com/errata/RHSA-2025:2701
- access.redhat.com/errata/RHSA-2025:2710
- access.redhat.com/security/cve/CVE-2024-21626
- bugzilla.redhat.com/show_bug.cgi?id=2258725
- github.com/advisories/GHSA-xr7r-f8xq-vfvv
- github.com/opencontainers/runc/commit/02120488a4c0fc487d1ed2867e901eeed7ce8ecf
- github.com/opencontainers/runc/releases/tag/v1.1.12
- github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
- lists.debian.org/debian-lts-announce/2024/02/msg00005.html
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2NLXNE23Q5ESQUAI22Z7A63JX2WMPJ2J
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SYMO3BANINS6RGFQFKPRG4FIOJ7GWYTL
- nvd.nist.gov/vuln/detail/CVE-2024-21626
- security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-21626.json
- www.vicarius.io/vsociety/posts/leaky-vessels-part-1-cve-2024-21626
Code Behaviors & Features
Detect and mitigate CVE-2024-21626 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →