CVE-2026-50162

oras-go: file store write outside workingDir via symlink traversal

Published Jul 17, 2026 CVSS 4.0 · 6.9 Medium EPSS < 1% KEV · Not listed
Description
oras-go is a Go library for managing OCI artifacts. Prior to 2.6.1, resolveWritePath() in content/file/file.go uses a lexical filepath.Rel check for workingDir and does not account for symlink traversal, so when AllowPathTraversalOnWrite=false an attacker-controlled blob title through ocispec.AnnotationTitle such as out/pwn.txt can follow a workingDir symlink out -> /some/outside/dir and cause pushFile() to create /some/outside/dir/pwn.txt outside workingDir. This issue is fixed in version 2.6.1.

Analysis

AI-generated

Technical impact

oras-go is a Go library that manages OCI artifacts. The flaw, categorized as CWE‑22 and CWE‑73, occurs when resolveWritePath() performs a lexical path check without accounting for symbolic link traversal. An attacker who can control the blob title supplied via the ocispec.AnnotationTitle, such as out/pwn.txt, can cause pushFile() to write to a location outside the intended working directory if AllowPathTraversalOnWrite is false. This results in arbitrary file creation or modification, which can be leveraged to overwrite critical files when running with elevated privileges, potentially leading to a compromise of the host system. The CVSS score of 6.9 indicates medium severity.

Affected Systems

The vulnerability affects oras‑project’s oras-go, specifically its file content store component. All versions prior to v2.6.1 are potentially vulnerable.

Risk and Exploitability

The CVSS score of 6.9 indicates a medium severity. The EPSS score is < 1%, and the vulnerability is not listed in the KEV catalog. The likely attack vector appears to be network‑based, inferred from the description of an attacker‑controlled blob title supplied over the network, so an attacker could trigger the issue remotely. The exploit would write files outside the working directory, allowing unauthorized data modification or compromise depending on the execution context.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade oras‑go to version 2.6.1 or later, which fixes the symlink traversal issue.
  • If an upgrade is not possible, restrict blob titles to disallow traversal patterns or disable external blob uploads.
  • Implement application‑level checks to ensure file writes remain within the designated directory and reject any paths containing ‘..’ or symbolic link references.

Generated by OpenCVE AI on August 1, 2026 at 08:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-8xwf-rjm4-xvhv oras-go has file store write outside workingDir via symlink traversal
History
Type Values Removed Values Added
First Time appeared Oras-project
Oras-project oras-go
Vendors & Products Oras-project
Oras-project oras-go
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description A flaw was found in oras-go. The file content store, intended to confine writes to a specified working directory, does not properly account for symbolic link (symlink) traversal. A remote attacker, by providing a specially crafted blob title, could exploit this vulnerability to create files outside the intended working directory. This filesystem boundary bypass allows for arbitrary file creation, potentially leading to unauthorized data modification or system compromise depending on the runtime environment. oras-go is a Go library for managing OCI artifacts. Prior to 2.6.1, resolveWritePath() in content/file/file.go uses a lexical filepath.Rel check for workingDir and does not account for symlink traversal, so when AllowPathTraversalOnWrite=false an attacker-controlled blob title through ocispec.AnnotationTitle such as out/pwn.txt can follow a workingDir symlink out -> /some/outside/dir and cause pushFile() to create /some/outside/dir/pwn.txt outside workingDir. This issue is fixed in version 2.6.1.
Title oras-go: oras-go: File store write outside working directory via symlink traversal oras-go: file store write outside workingDir via symlink traversal
Weaknesses CWE-73
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N'}

Type Values Removed Values Added
Description A flaw was found in oras-go. The file content store, intended to confine writes to a specified working directory, does not properly account for symbolic link (symlink) traversal. A remote attacker, by providing a specially crafted blob title, could exploit this vulnerability to create files outside the intended working directory. This filesystem boundary bypass allows for arbitrary file creation, potentially leading to unauthorized data modification or system compromise depending on the runtime environment.
Title oras-go: oras-go: File store write outside working directory via symlink traversal
Weaknesses CWE-22
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}

threat_severity

Moderate

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-73

    External Control of File Name or Path

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 20, 2026, 6:18 PM
Reserved
Jun 3, 2026, 8:54 PM
Status
Deferred
Published
Jul 17, 2026, 8:17 PM
Modified
Oct 24, 2026, 8:10 PM
Severity
Moderate
Public date
Jul 1, 2026, 9:35 PM