What’s Vulnerable › Vulnerabilities
CVE-2026-85731: oras-go: Arbitrary file write outside file.Store root via symlink-chain bypass in tar extraction (pushDir)
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.7% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-16 · updated 2026-09-16
- Weakness: CWE-22
Description
oras-go is a Go library for managing OCI artifacts. Prior to 2.6.2, content/file.Store extraction of OCI layers marked with io.deis.oras.content.unpack=true can write outside the store working directory. The pushDir path through extractTarDirectory and ensureLinkPath validates symlink targets lexically, resolveRelToBase skips its parent-symlink walk for root-level entries, and writeFile follows a terminal symlink when opening a regular file. A malicious archive can therefore create a symlink chain whose lexical target remains inside the extraction root but whose resolved target is an attacker-selected absolute path, then overwrite that target with a same-named regular-file entry even when AllowPathTraversalOnWrite is false. Pulling an attacker-controlled artifact can create or overwrite any file writable by the process and may lead to code execution. This issue is fixed in version 2.6.2.
Affected products
- oras-project oras-go: before 2.6.2
References
- https://github.com/oras-project/oras-go/commit/adab2f25ea95ef4e6e41f50db9266a6701399422
- https://github.com/oras-project/oras-go/releases/tag/v2.6.2
- https://github.com/oras-project/oras-go/security/advisories/GHSA-m37j-52j7-pjw7
- https://github.com/oras-project/oras-go/security/advisories/GHSA-m37j-52j7-pjw7
Get alerted when CVE-2026-85731 or the next vulnerability affects your stack