runc: UNIX Symbolic Link (Symlink) Following
CVE-2025-52565 is a high-severity UNIX symbolic link (symlink) following vulnerability in runc from Opencontainers, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, but only if a user takes part, for example by opening a link or file. Affected runc versions: >= 1.0.0-rc3, < 1.2.8; >= 1.3.0-rc.1, < 1.3.3; >= 1.4.0-rc.1, < 1.4.0-rc.3. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.81% chance of exploitation within 30 days, higher than 58% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Check which version of runc you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Because the attack needs a user to take part, warn users about unexpected links and files related to this product until it is patched.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Opencontainers | runc | >= 1.0.0-rc3, < 1.2.8; >= 1.3.0-rc.1, < 1.3.3; >= 1.4.0-rc.1, < 1.4.0-rc.3 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- HighSuccess depends on conditions outside the attacker's control.
- Privileges required
- LowA basic user account is enough.
- User interaction
- RequiredA user must take an action such as opening a file or link.
- Scope
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 4.0 | 8.4 | High | CNA (github.com) |
| CVSS 3.1 | 7.5 | High | NVD |
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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: UNIX Symbolic Link (Symlink) Following
The product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.
How developers prevent this class of flaw
- Symbolic link attacks often occur when a program creates a tmp directory that stores files/links. Access to the directory should be restricted to the program as to prevent attackers from manipulating the files.
- Follow the principle of least privilege when assigning access rights to entities in a software system. Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.
More UNIX Symbolic Link (Symlink) Following vulnerabilities (CWE-61)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/opencontainers/runc/security/advisories/GHSA-qw9x-cqr3-wc7rExploit, Mitigation, Third Party Advisory
Patches and release notes
- github.com/opencontainers/runc/commit/01de9d65dc72f67b256ef03f9bfb795a2bf143b4
- github.com/opencontainers/runc/commit/398955bccb7f20565c224a3064d331c19e422398
- github.com/opencontainers/runc/commit/531ef794e4ecd628006a865ad334a048ee2b4b2e
- github.com/opencontainers/runc/commit/9be1dbf4ac67d9840a043ebd2df5c68f36705d1d
- github.com/opencontainers/runc/commit/aee7d3fe355dd02939d44155e308ea0052e0d53a
- github.com/opencontainers/runc/commit/db19bbed5348847da433faa9d69e9f90192bfa64
- github.com/opencontainers/runc/commit/de87203e625cd7a27141fb5f2ad00a320c69c5e8
- github.com/opencontainers/runc/commit/ff94f9991bd32076c871ef0ad8bc1b763458e480
Other vulnerabilities in runc
- 7.5 High severity
- 7.8 High severity
- 8.6 High severity
- 7.8 High severity
- 7.8 High severity
Recent UNIX Symbolic Link (Symlink) Following vulnerabilities
- 10.0 Critical severity
- 10.0 Critical severity
- 7.1 High severity
- 8.5 High severity
- 8.7 High severity
- 7.0 High severity
Spotted an error? Tell us.