Skip to content
VulniPulse
Advisory severityHigh7.8Red Hat Linux

High [CVE-2026-39822] Go os.Root: Symlink following vulnerability allows directory traversal

This high-severity Red Hat Linux advisory covers CVE-2026-39822 affecting Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions.

Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.

CVE-2026-39822 Source published Source updated

VulniPulse record published Record updated

Affected products & platforms
Red Hat LinuxRed Hat Enterprise Linux
Open source advisory

Android app · Google Play

Monitor future Red Hat Linux CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.

Matching phone alertsOptional email delivery

Summary

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. This vulnerability allows an attacker to bypass intended directory restrictions by crafting a path that ends with a symbolic link and a trailing slash.

When a file is opened in `os.Root` with such a path, the symbolic link is improperly followed, potentially leading to access to locations outside of the defined root directory. This could result in information disclosure or unauthorized file system access.

A flaw was found in Go's os.Root implementation. This is because `openat()` with `O_NOFOLLOW` does not prevent symlink resolution when the path has a trailing /.

An attacker able to create symlinks within an os.Root directory could use this to read or write files outside the intended root. Go versions prior to 1.24 are not affected.

This issue is fixed in Go 1.25.12 and Go 1.26.5. The following symbols are affected: * `OpenInRoot`: Opens a file or directory within an `os.Root`. * `Root.

Create`: Creates a file inside an `os.Root`. * `Root. Open`: Opens a path relative to an `os.Root`. * `Root.

Affected versions

No affected-version range was extracted from the source record. The vendor advisory is authoritative — check it before change work.

Official advisory · high-confidence parse· fetched 17 days ago·verify at source

Fixed versions
  • golang-0:1.26.5-1.el10_2
  • buildah-2:1.43.1-4.el10_2
  • golang-0:1.26.5-1.el10_0
  • go-toolset:rhel8-8100020260710105056.a3795dee
  • golang-0:1.26.5-1.el9_8
  • buildah-2:1.43.1-4.el9_8
  • podman-6:5.8.2-5.el9_8
  • golang-0:1.26.5-1.el9_2
  • golang-0:1.26.5-1.el9_4
  • golang-0:1.26.5-1.el9_6
  • openshift-0:4.20.0-202609041738.p2.g4012064.assembly.stream.el8
  • openshift-0:4.21.0-202609022229.p2.g93afd70.assembly.stream.el10
  • openshift-0:4.22.0-202608190726.p2.g05744ab.assembly.stream.el8
  • advanced-cluster-security/rhacs-main-rhel8:1787584486
  • advanced-cluster-security/rhacs-main-rhel8:1787584487
  • advanced-cluster-security/rhacs-main-rhel9:1785415868
  • golang1-26-main-1.26.5-0.1.hum1
  • golang1-25-main-1.25.12-0.1.hum1
  • rhosdt/tempo-gateway-opa-rhel9:1784775772
  • rhosdt/tempo-gateway-rhel9:1784775770
  • rhosdt/tempo-jaeger-query-rhel9:1784775834
  • rhosdt/tempo-operator-bundle:1784777166
  • rhosdt/tempo-query-rhel9:1784775793
  • rhosdt/tempo-rhel9:1784775768
  • rhosdt/tempo-rhel9-operator:1784775782
  • rhosdt/opentelemetry-collector-rhel9:1786637598
  • rhosdt/opentelemetry-rhel9-operator:1786635175
  • quay/quay-rhel8:1786395065
  • quay/quay-rhel8:1786170635
  • quay/quay-rhel8:1788593843
  • quay/quay-rhel9:1789563753
  • quay/quay-rhel8:1785950004
  • RHSA-2026:37436
  • RHSA-2026:38494
  • RHSA-2026:49702
  • RHSA-2026:38995
  • RHSA-2026:37435
  • RHSA-2026:38493
  • RHSA-2026:38878
  • RHSA-2026:61253
  • RHSA-2026:57649
  • RHSA-2026:49712
  • RHSA-2026:66375
  • RHSA-2026:66350
  • RHSA-2026:57361
  • RHSA-2026:59202
  • RHSA-2026:59203
  • RHSA-2026:48891
  • RHSA-2026:36477
  • RHSA-2026:36510

Official advisory · high-confidence parse· fetched 17 days ago·verify at source

Mitigation checklist

Recommended fix / mitigation
  • 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.

Official advisory · high-confidence parse· fetched 17 days ago·verify at source

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.