CVE-2025-52565 container escape due to /dev/console mount and related races
Attackers can exploit race conditions in runc to escape containers or cause host denial of service by manipulating /dev/console mounts.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-52565?
CVE-2025-52565 is a high-severity vulnerability in opencontainers runc, published on 6 Nov 2025. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
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.
Which versions are affected by CVE-2025-52565?
7 open source packages ship an affected version, including github.com/opencontainers/runc. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/opencontainers/runc Go | From 1.0.0-rc3 | 1.2.8, 1.3.3, 1.4.0-rc.3 |
github.com/opencontainers/runc Go | From 1.0.0-rc3 | 1.2.8 |
github.com/opencontainers/runc Go | From 1.0.0-rc3 | 1.2.8 |
github.com/opencontainers/runc Go | From 1.3.0-rc.1 | 1.3.3 |
github.com/opencontainers/runc Go | From 1.3.0-rc.1 | 1.3.3 |
github.com/opencontainers/runc Go | From 1.4.0-rc.1 | 1.4.0-rc.3 |
1 more packages
github.com/opencontainers/runc Go | From 1.4.0-rc.1 | 1.4.0-rc.3 |
Products include Linuxfoundation Runc.
How do I fix CVE-2025-52565?
Upgrade github.com/opencontainers/runc to a fixed version for your release line: 1.2.8, 1.3.3 or 1.4.0-rc.3.
Is CVE-2025-52565 being exploited?
There is no known exploitation of CVE-2025-52565 in the wild and no public exploit code.
Other vulnerabilities in opencontainers runc
- CVE-2025-31133 runc container escape via "masked path" abuse due to mount race conditions
- CVE-2025-52881 runc: LSM labels can be bypassed with malicious config using dummy procfs files
- CVE-2023-28642 AppArmor bypass with symlinked /proc in runc
- CVE-2023-25809 rootless: `/sys/fs/cgroup` is writable when cgroupns isn't unshared in runc
- CVE-2024-45310 runc can be confused to create empty files/directories on the host
Sources
Also known as AZL-69821, AZL-70513, AZL-70589, BELL-CVE-2025-52565, DEBIAN-CVE-2025-52565, GHSA-qw9x-cqr3-wc7r and 23 more.