CVE-2026-35349: uutils coreutils Path-Based Safety Bypass with --preserve-root

Published Apr 22, 2026
·
Updated

A vulnerability in the rm utility of uutils coreutils allows a bypass of the --preserve-root protection. The implementation uses a path-string check rather than comparing device and inode numbers to identify the root directory. An attacker or accidental user can bypass this safeguard by using a symbolic link that resolves to the root directory (e.g., /tmp/rootlink -> /), potentially leading to the unintended recursive deletion of the entire root filesystem.

Other sources

The --preserve-root check uses a path-string test (path.hasroot() && path.parent().isnone()) rather than comparing device/inode. A symlink to / (e.g. /tmp/rootlink -> /) has a parent component, so it passes the check. GNU caches /'s dev/inode at startup and compares every traversed directory against it.

Impact: rm -rf --preserve-root on a path that resolves through a symlink to / bypasses protection and can delete system directories. Recommendation: compare each entered directory's dev/inode against cached /.

Remediation: Acknowledged by Canonical; fixed in commit 5e5968cd.

--- Reported by Zellic in the uutils coreutils Program Security Assessment (prepared for Canonical, Jan 20 2026), audited commit 3a07ffc5a9bd4c283e75afa548ba1f1957bad242. Finding 3.44. Credit: Zellic.

GitHub

Affected Software

3 affected componentsFixes available
uutils uutils coreutils
uutils Coreutils Rust<0.7.0
rust/uu_rm<0.7.0
0.7.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade rust/uu_rm to a version that resolves this vulnerability.

    Fixed in 0.7.0
  2. Upgrade

    Upgrade uutils coreutils rm utility to a version that resolves this vulnerability.

    Patch 5e5968cd

Event History

Apr 22, 2026
CVE Published
via MITRE·04:07 PM
Data Sourced
via MITRE·04:07 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jul 6, 2026
Advisory Published
via GitHub·08:15 PM
Data Sourced
via GitHub·08:15 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-35349?

CVE-2026-35349 has a severity rating of medium due to its potential to allow unauthorized file deletion.

2

How do I fix CVE-2026-35349?

To fix CVE-2026-35349, upgrade uutils coreutils to version 0.7.0 or later where the vulnerability is addressed.

3

Who is affected by CVE-2026-35349?

CVE-2026-35349 affects users of uutils coreutils prior to version 0.7.0.

4

What causes CVE-2026-35349?

CVE-2026-35349 is caused by the rm utility's reliance on a path-string check instead of comparing device and inode numbers to enforce the --preserve-root functionality.

5

Can CVE-2026-35349 be exploited remotely?

CVE-2026-35349 typically requires local access to exploit, making remote exploitation unlikely.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203