CVE-2026-39822 — go
HIGHCVE-2026-39822 is a high-severity (CVSS 7.8) CWE-61 vulnerability. A fix is available — see the affected versions and patch details below.
Root escape via symlink plus trailing slash in os
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-39822.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2026-39822 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.
Where this sits among everything scored
Of 380,526 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.
Description
On Unix systems, opening a file in an os.Root improperly follows symlinks to locations outside of the Root when the final path component of the a path is a symbolic link and the path ends in /. For example, 'root.Open("symlink/")' will open "symlink" even when "symlink" is a symbolic link pointing outside of the root.
Affected Products
gogolangDetection & mitigation playbook
VulnerabilityDetect
Identify every host running the affected component and compare the installed build against the fixed version below — for source-built or distro-packaged software the version string, not a lockfile, is the source of truth (`dpkg -l`, `rpm -q`, or the binary's own `--version`).
Fix
Upgrade the affected component to the fixed release for CVE-2026-39822, or apply your distribution's backported patch — distro builds are often patched at an older version number, so check your vendor's advisory rather than the upstream version alone.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
A flaw was found in Go's os.Root implementation. On Unix systems, `os.Root.Open()` improperly follows symlinks to locations outside the root directory when the path ends with a trailing slash (e.g., root.Open("symlink/")). This is because `openat()` with `O_NOFOLLOW` does not prevent symlink resolution when the path…
There is no mitigation for this issue other than updating the Go toolchain to Go 1.25.12 or Go 1.26.5. Programs compiled with Go >= 1.24 that do not use the os.Root API are not affected by this vulnerability. The os.Root API was introduced in Go 1.24. Go versions prior to 1.24 are not affected. This issue is fixed in Go 1.25.12 and Go 1.26.5.Source: Red Hat security advisory for CVE-2026-39822 (CC BY 4.0)
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat Enterprise Linux 10 | golang-0:1.26.5-1.el10_2 | RHSA-2026:37436 |
| Red Hat Enterprise Linux 10 | buildah-2:1.43.1-4.el10_2 | RHSA-2026:38494 |
| Red Hat Enterprise Linux 10.0 Extended Update Support | golang-0:1.26.5-1.el10_0 | RHSA-2026:49702 |
| Red Hat Enterprise Linux 8 | go-toolset:rhel8-8100020260710105056.a3795dee | RHSA-2026:38995 |
| Red Hat Enterprise Linux 9 | golang-0:1.26.5-1.el9_8 | RHSA-2026:37435 |
| Red Hat Enterprise Linux 9 | buildah-2:1.43.1-4.el9_8 | RHSA-2026:38493 |
| Red Hat Enterprise Linux 9 | podman-6:5.8.2-5.el9_8 | RHSA-2026:38878 |
| Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions | golang-0:1.26.5-1.el9_2 | RHSA-2026:61253 |
Frequently Asked Questions
Is CVE-2026-39822 in your dependencies?
Find it across , including transitive dependencies.