CVE-2026-50163
`oras-go` tar extraction: Hardlink entry with relative Linkname escapes extract dir via process CWD resolution
Impact
oras-go is a Go library for managing OCI artifacts. Prior to 2.6.2, ensureLinkPath in content/file/utils.go:262-275 validates a hardlink target relative to the extract base but returns the unresolved target, causing os.Link("victim.secret", "<extract_base>/payload.tar.gz/evil_cwd_link") to resolve header.Linkname against the process current working directory for a Typeflag=TypeLink entry such as Name=payload.tar.gz/evil_cwd_link and Linkname="victim.secret" with io.deis.oras.content.unpack: "true", which can expose or tamper with files such as .env, .git/config, .aws/credentials, and ~/.ssh/config. This issue is fixed in version 2.6.2.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| go | oras.land/oras-go/v2 | <= 2.6.1 | 2.6.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-fxhp-mv3v-67qp
- https://github.com/oras-project/oras-go/security/advisories/GHSA-fxhp-mv3v-67qp
- https://github.com/oras-project/oras-go/commit/b11f777f8d405c5023c4b307cfdc5068dfc3d406
- https://nvd.nist.gov/vuln/detail/CVE-2026-50163
- https://github.com/oras-project/oras-go/pull/1232
- https://github.com/oras-project/oras-go/commit/c463c654ab3ef34422c1764cd619806cebf20451
- https://github.com/oras-project/oras-go/releases/tag/v2.6.2