CVE-2026-35338: uutils coreutils chmod --preserve-root bypass via non-canonical paths

CVE-2026-35338 · Severity: high · CVSS 7.3 · Published 2026-04-22

A vulnerability in the uutils version of the chmod utility allows users to bypass a safety feature designed to protect the system's root directory. The '--preserve-root' flag, which is meant to prevent accidental or malicious deletion of system-wide file permissions, can be circumvented by using alternative path names like '/../'. If exploited, this could lead to a complete system breakdown as critical file permissions across the entire operating system are altered.

Technologies: Uutils Coreutils. Vendors: crates.io, Uutils.

Quick answers

Is CVE-2026-35338 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-35338 being exploited in the wild.
How severe is CVE-2026-35338?
High severity, with a CVSS score of 7.3, published 22 April 2026.
Which products and versions are affected?
uu_chmod (crates.io) < 0.6.0, SEMVER:introduced=0,fixed=0.6.0.
Is there a fix for CVE-2026-35338?
Yes. uu_chmod (crates.io): upgrade to 0.6.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-35338 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-35338?
Check whether you run uu_chmod (crates.io) or Uutils Coreutils at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • uu_chmod (crates.io): upgrade to 0.6.0 or later
    cargo update -p uu_chmod

Technical details

A path traversal and link following vulnerability exists in the Chmoder::chmod() function of uutils coreutils. The implementation only performs a literal string comparison of the input path against '/' when the --preserve-root flag is active, failing to account for path canonicalization. An attacker with local access can provide a path that resolves to root (such as '/../' or a symlink to '/') to bypass this check. When combined with the recursive (-R) flag, this allows for destructive permission changes across the entire filesystem. The issue is fixed in version 0.6.0 by ensuring the target path is canonicalized before the root check.

Affected products

  • uutils coreutils (uu_chmod) < 0.6.0

Identifiers

  • CVE-2026-35338
  • GHSA-4c7q-4928-8445

Timeline

  • 2026-01-03: patched: Initial fix and regression tests submitted via PR #10033
  • 2026-01-07: patched: Fix merged into main branch
  • 2026-01-20: disclosed: Reported by Zellic in security assessment for Canonical
  • 2026-04-22: advisory: CVE-2026-35338 assigned and published to NVD
  • 2026-07-06: advisory: GitHub Advisory GHSA-4c7q-4928-8445 published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.