Bug 2535549 (CVE-2026-85731) - CVE-2026-85731 github.com/oras-project/oras-go: oras-go: Arbitrary file write and code execution via symlink-chain bypass
Summary: CVE-2026-85731 github.com/oras-project/oras-go: oras-go: Arbitrary file write...
Keywords:
Status: NEW
Alias: CVE-2026-85731
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2535577
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-16 16:43 UTC by OSIDB Bzimport
Modified: 2026-09-16 17:49 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-16 16:43:21 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.