Skip to content
Heist/ feed
UnratedFix available

TOCTOU permits root escape on Linux via Root.Chmod in os in internal/syscall/unix

Type: advisorySource: OSV1 source record

On Linux, if the target of Root.Chmod is replaced with a symlink while the chmod operation is in progress, Chmod can operate on the target of the symlink, even when the target lies outside the root. The Linux fchmodat syscall silently ignores the AT_SYMLINK_NOFOLLOW flag, which Root.Chmod uses to avoid symlink traversal. Root.Chmod checks its target before acting and returns an error if the target is a symlink lying outside the root, so the impact is limited to cases where the target is replaced with a symlink between the check and operation.

Announced Group revision 1
Original source ↗

GO-2026-4864

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GO-2026-4864

stdlib

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
1.25.9

Source reference: /affected/0/ranges

1.26.2

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "1.25.9"
          },
          {
            "introduced": "1.26.0-0"
          },
          {
            "fixed": "1.26.2"
          }
        ]
      }
    ],
    "package": {
      "name": "stdlib",
      "purl": "pkg:golang/stdlib",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://vuln.go.dev/ID/GO-2026-4864.json"
    },
    "ecosystem_specific": {
      "imports": [
        {
          "goos": [
            "linux"
          ],
          "path": "internal/syscall/unix",
          "symbols": [
            "Fchmodat"
          ]
        }
      ]
    }
  }
]
Related CVEs
CVE-2026-32282

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Event
#27678 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement