Skip to main content

uutils coreutils CVE-2026-35349

| EUVDEUVD-2026-24981 HIGH
Improper Link Resolution Before File Access (CWE-59)
7.7
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Create symbolic link to root
  2. Delivery
    Execute rm with symlink path
  3. Exploit
    Bypass string-based root check
  4. Execution
    Resolve symlink to actual root
  5. Impact
    Recursively delete filesystem

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

The vulnerability requires: (1) local filesystem write access to create a symbolic link (e.g., to /tmp or the user's home directory); (2) the attacker or accidental user must invoke rm with the -r or -rf flag pointing to the crafted symlink; (3) uutils coreutils must be the installed rm binary (not GNU coreutils, which uses inode comparison). The --preserve-root flag must be active (default behavior). No authentication bypass is required - any local user can exploit this. Attack complexity is high (AC:H) because the attacker must manually construct a symlink and explicitly invoke rm against it; the vulnerability is not remotely triggerable and requires deliberate or accidental user action. Exploitation does NOT require elevated privileges (PR:N); the impact is constrained by the invoking user's file access permissions, but on single-user systems or containers, deletion of root filesystem content is catastrophic.

Impact

CVSS 6.7 (AV:L/AC:H/PR:N/UI:N) indicates local-only attack vector with high complexity, meaning the vulnerability is not trivially exploitable. SSVC framework concurs: no known exploitation, non-automatable (requires manual symlink setup), and technical impact is partial (not total compromise, though data loss is severe). The Authentication Bypass tag is potentially misleading - this is not an auth bypass but a logic bypass of a safety mechanism. Real-world risk depends on whether uutils coreutils is deployed as the system rm utility (replacing GNU coreutils); many Linux distributions ship GNU coreutils by default. If uutils is installed as a replacement, the risk is moderate because an unprivileged local user could trigger unintended filesystem destruction via a crafted symlink, but AC:H mitigates widespread exploitation. The vulnerability is less critical than raw CVSS suggests because: (1) requires local filesystem write access to create symlink, (2) AC:H indicates non-obvious exploitation path, (3) no active exploitation reported. However, in container or multi-tenant environments where uutils is the rm implementation, the risk elevates to high.

Exploit ScenarioDerived

An unprivileged user with write access to /tmp creates a symbolic link: 'ln -s / /tmp/rootlink'. The user then executes 'rm -r /tmp/rootlink' with intent to recursively delete the symlink's contents (testing or malice). The vulnerable rm utility's string-based check sees /tmp/rootlink (not /) and permits recursion. The symlink resolves to /, and the entire root filesystem is deleted. In a containerized environment, this destroys the container's filesystem image; on a shared server, it impacts all users and services.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 23, 2026

Bypass of --preserve-root protection in uutils coreutils rm utility allows local users to recursively delete the root filesystem by supplying a symbolic link that resolves to the root directory, rather than relying on authentic root inode comparison. The vulnerability affects coreutils versions before 0.7.0 and requires local access with no special privileges, though successful exploitation is hindered by high complexity (AC:H). CISA exploitation status is none at time of analysis, and a vendor patch has been released.

RemediationAI

Vendor-released patch: upgrade uutils coreutils to version 0.7.0 or later. The upstream fix is available at GitHub PR #9706 (https://github.com/uutils/coreutils/pull/9706), which modifies the root detection logic to compare device and inode numbers (stat-based validation) rather than path strings. For environments unable to immediately upgrade, implement the following compensating controls: (1) Restrict write access to /tmp and other directories where symlinks could be created, using filesystem permissions or mount options (nodev on /tmp prevents device files but does not prevent symlinks); (2) Disable or alias the rm command to GNU coreutils if available as an alternative, accepting that this introduces version heterogeneity; (3) Monitor execution of rm -r with symlink arguments using SELinux rules or audit hooks. Note that mount option nodev on /tmp will not prevent symlink exploitation but noexec will prevent execution of binaries from that directory. The most effective immediate control is filesystem-level write restriction or switching to a verified implementation until patching is feasible.

Affected VersionsENISA

coreutils 0 <0.7.0

Affected Packages

cargo coreutils fix: 0.7.0
cargo uu_rm fix: 0.7.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in cargo

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The uutils coreutils rm utility implements a --preserve-root safeguard to prevent accidental or malicious recursion from deleting critical system files. The vulnerable implementation validates the root directory using string-based path comparison rather than comparing actual device and inode numbers (stat-based validation). This allows an attacker to create a symbolic link (e.g., /tmp/rootlink → /) that, when passed to rm -rf, bypasses the string check because the symlink path differs from '/' but resolves to the same directory. The root cause is CWE-59 (Improper Link Resolution Before File Access), a symlink-following vulnerability where the application fails to validate the final resolved target's identity.

Know when Coreutils gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.7 HIGH
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

4
Severity Changed
Oct 26, 2026 - 21:23 NVD
MEDIUM HIGH
CVSS changed
Oct 26, 2026 - 21:23 NVD
6.7 (MEDIUM) 7.7 (HIGH)
Patch released
Apr 22, 2026 - 16:31 nvd
Patch available
CVE Published
Apr 22, 2026 - 16:07 nvd
MEDIUM 6.7

DescriptionNVD

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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 97% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2014-9471 HIGH POC
7.5 Jan 16

The parse_datetime function in GNU coreutils allows remote attackers to cause a denial of service (crash) or possibly ex

CVE-2026-35338 HIGH POC
7.3 Apr 22

Recursive chmod operations can bypass --preserve-root protection in uutils coreutils versions prior to 0.6.0, allowing l

CVE-2026-35341 HIGH POC
7.1 Apr 22

Local privilege escalation in uutils coreutils mkfifo allows authenticated users to downgrade permissions on arbitrary f

CVE-2026-35373 MEDIUM POC
5.5 Apr 22

The ln utility in uutils coreutils fails to process source paths containing non-UTF-8 filename bytes when using target-d

CVE-2026-35339 MEDIUM POC
5.5 Apr 22

The chmod utility in uutils coreutils versions prior to 0.6.0 incorrectly reports success (exit code 0) when recursively

CVE-2026-35361 MEDIUM POC
4.4 Apr 22

The mknod utility in uutils coreutils creates device nodes before atomically applying SELinux security labels, and fails

CVE-2026-35366 MEDIUM POC
4.4 Apr 22

The printenv utility in uutils coreutils versions before 0.6.0 silently omits environment variables containing invalid U

CVE-2026-35368 HIGH
7.8 Apr 22

Privilege escalation to root in uutils coreutils chroot utility allows low-privileged local attackers with write access

CVE-2026-93658 HIGH
7.3 Sep 18

Local privilege escalation in uutils coreutils before 0.10.0: the `install` utility applies a requested setuid/setgid mo

CVE-2026-35381 LOW POC
3.3 Apr 22

Logic error in uutils coreutils cut utility causes incorrect behavior when combining the -s (only-delimited), -z (null-t

CVE-2026-35371 LOW POC
3.3 Apr 22

The id utility in uutils coreutils displays incorrect effective user information in its pretty-print output when real an

CVE-2026-35352 HIGH
7.0 Apr 22

Privilege escalation in uutils coreutils mkfifo utility allows local attackers with low privileges to manipulate file pe

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy