CVE-2025-52881·Docker vulnerability
runc is a CLI tool for spawning and running containers according to the OCI specification. In versions 1.2.7, 1.3.2 and 1.4.0-rc.2, an attacker can trick runc into misdirecting writes to /proc to other procfs files through the use of a racing container with shared mounts (we have also verified this attack is possible to exploit using a standard Dockerfile with docker buildx build as that also permits triggering parallel execution of containers with custom shared mounts configured). This redirect could be through symbolic links in a tmpfs or theoretically other methods such as regular bind-mounts. While similar, the mitigation applied for the related CVE, CVE-2019-19921, was fairly limited and effectively only caused runc to verify that when LSM labels are written they are actually procfs files. This issue is fixed in versions 1.2.8, 1.3.3, and 1.4.0-rc.3.
- Severity
- high
- Software
- Docker
- Fixed in
- 1.3.3
- Published
- 2025-11-06
Affected versions
From: 1.3.0
Until: 1.3.3
Fixed in: 1.3.3
How to fix this CVE
Update Docker to version 1.3.3 or later to patch the runc /proc file redirection vulnerability. This vulnerability allows attackers to exploit race conditions in shared container mounts to redirect writes intended for /proc to arbitrary procfs files, potentially compromising container isolation. Upgrade immediately if you use Docker 1.3.0 through 1.3.2, or if you build container images with docker buildx using parallel execution and custom mount configurations.
sudo dnf update docker-ceDefensia detects this vulnerability
How to check if you are affected
- Check the installed runc version: docker run --rm alpine runc --version | grep -oP 'runc version \K[0-9.]+'
- Verify Docker daemon is using the vulnerable runc: docker info | grep -i 'runc version'
- Review container configurations for shared mounts across parallel builds: grep -r 'shared' /var/lib/docker/containers/*/config.v2.json
- After patching, confirm the updated version: docker run --rm alpine runc --version and verify it shows 1.3.3 or later
FAQ
What is CVE-2025-52881?
CVE-2025-52881 is a race condition vulnerability in runc that allows attackers to redirect /proc file writes to other procfs files through symlink manipulation in shared container mounts. This can occur during parallel container execution, such as with docker buildx builds, potentially breaking container isolation.
Is CVE-2025-52881 being actively exploited?
No, this vulnerability is not currently listed in the CISA KEV catalog and no public exploits are available. However, it remains high-severity due to its potential impact on container security.
What versions of Docker are affected by CVE-2025-52881?
Docker installations using runc versions 1.3.0 through 1.3.2 are affected. Additionally, versions 1.2.7 and 1.4.0-rc.2 contain the same vulnerability.
How do I check if my server is vulnerable to CVE-2025-52881?
Run 'docker run --rm alpine runc --version' and check if the version falls within 1.3.0-1.3.2. If it does, your system is vulnerable and requires immediate patching.
Does Defensia detect CVE-2025-52881?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Docker is installed on a monitored server, CVE-2025-52881 will appear in your dashboard with remediation steps.
Related Docker CVEs
References
- http://github.com/opencontainers/runc/commit/a41366e74080fa9f26a2cd3544e2801449697322
- http://github.com/opencontainers/runc/commit/fdcc9d3cad2f85954a241ccb910a61aaa1ef47f3
- https://github.com/opencontainers/runc/blob/v1.4.0-rc.2/RELEASES.md
- https://github.com/opencontainers/runc/commit/3f925525b44d247e390e529e772a0dc0c0bc3557
- https://github.com/opencontainers/runc/commit/435cc81be6b79cdec73b4002c0dae549b2f6ae6d
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-52881. Free for 1 server.
Get started free