Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
🛡️
Not in CISA KEV
HIGH severity

CVE-2026-39822 — go

HIGH

CVE-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

Also known asBIT-golang-2026-39822GO-2026-4970
Published
Jul 8, 2026
Updated
Sep 19, 2026
Affected
1 product
Patched
See advisory
Exploits
None indexed
Exploitation data as of Sep 29, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

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

via FIRST.org ↗
0.2%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs7th percentile — riskier than 7% of all scored CVEsHighest risk

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

1 product · 3 configurations
Application
gogolang
≥ 1.26.0 && < 1.26.5
1 version
1.27

Detection & mitigation playbook

Vulnerability
  1. Detect

    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`).

  2. 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.

  3. 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.

Red HatImportant

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…

Workaround published by Red Hat
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)
ProductFixed inAdvisory
Red Hat Enterprise Linux 10golang-0:1.26.5-1.el10_2RHSA-2026:37436
Red Hat Enterprise Linux 10buildah-2:1.43.1-4.el10_2RHSA-2026:38494
Red Hat Enterprise Linux 10.0 Extended Update Supportgolang-0:1.26.5-1.el10_0RHSA-2026:49702
Red Hat Enterprise Linux 8go-toolset:rhel8-8100020260710105056.a3795deeRHSA-2026:38995
Red Hat Enterprise Linux 9golang-0:1.26.5-1.el9_8RHSA-2026:37435
Red Hat Enterprise Linux 9buildah-2:1.43.1-4.el9_8RHSA-2026:38493
Red Hat Enterprise Linux 9podman-6:5.8.2-5.el9_8RHSA-2026:38878
Red Hat Enterprise Linux 9.2 Update Services for SAP Solutionsgolang-0:1.26.5-1.el9_2RHSA-2026:61253

Frequently Asked Questions

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.
O3 Security · Impact-Aware SCA

Is CVE-2026-39822 in your dependencies?

Find it across , including transitive dependencies.

CVE-2026-39822: go (High 7.8) | O3 Security