container escape due to /dev/console mount and related races
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.2.8, 1.3.3, 1.4.0-rc.3
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
runc is a CLI tool for spawning and running containers according to the OCI specification. Versions 1.0.0-rc3 through 1.2.7, 1.3.0-rc.1 through 1.3.2, and 1.4.0-rc.1 through 1.4.0-rc.2, due to insufficient checks when bind-mounting `/dev/pts/$n` to `/dev/console` inside the container, an attacker can trick runc into bind-mounting paths which would normally be made read-only or be masked onto a path that the attacker can write to. This attack is very similar in concept and application to CVE-2025-31133, except that it attacks a similar vulnerability in a different target (namely, the bind-mount of `/dev/pts/$n` to `/dev/console` as configured for all containers that allocate a console). This happens after `pivot_root(2)`, so this cannot be used to write to host files directly -- however, as with CVE-2025-31133, this can load to denial of service of the host or a container breakout by providing the attacker with a writable copy of `/proc/sysrq-trigger` or `/proc/sys/kernel/core_pattern` (respectively). This issue is fixed in versions 1.2.8, 1.3.3 and 1.4.0-rc.3.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- opencontainers runc
From 1.0.0-rc3 · fixed in 1.2.8; From 1.3.0-rc.1 · fixed in 1.3.3; From 1.4.0-rc.1 · fixed in 1.4.0-rc.3
- github.com/opencontainers/runcGo
From 1.0.0-rc3 · fixed in 1.2.8
- github.com/opencontainers/runcGo
From 1.3.0-rc.1 · fixed in 1.3.3
- github.com/opencontainers/runcGo
From 1.4.0-rc.1 · fixed in 1.4.0-rc.3
- github.com/opencontainers/runcGo
From 1.0.0-rc3 · fixed in 1.2.8; From 1.3.0-rc.1 · fixed in 1.3.3; From 1.4.0-rc.1 · fixed in 1.4.0-rc.3