Skip to main content

uutils coreutils CVE-2026-35350

| EUVDEUVD-2026-24982 MEDIUM
Improper Preservation of Permissions (CWE-281)
2026-04-22 canonical
6.6
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Identify setuid binary in accessible directory
  2. Delivery
    Copy with 'cp -p' command
  3. Exploit
    chown fails due to privilege restrictions
  4. Execution
    Mode bits preserved despite ownership failure
  5. Persist
    Create writable privileged executable
  6. Impact
    Execute with elevated privilege or manipulate for privilege escalation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Permission preservation
Exploitation Conditions

Exploitation requires the following specific conditions: the system must be running uutils coreutils with the cp command; the -p (preserve) flag must be used; the source file must have setuid or setgid bits set in its mode; the user executing cp must lack the privilege to change file ownership (chown must fail, typically when attempting to change ownership to a different user like root); and the user must have write access to the destination directory. Non-default configurations are not required - the vulnerability manifests in standard usage of cp -p on files with privilege bits. The vulnerability does NOT require file ownership changes to succeed, only that the user lack the privilege to perform them. Limitation factors: this is a local-only vulnerability (AV:L); requires at least user-level access (PR:L); and only affects systems explicitly using uutils coreutils rather than GNU coreutils as their default cp implementation.

Impact

This vulnerability presents moderate real-world risk despite a CVSS score of 6.6. The CVSS vector (AV:L/AC:L/PR:L/UI:N/S:U) correctly identifies local access, low complexity, and low privilege requirements as necessary conditions. The SSVC framework indicates 'poc' exploitation status (proof-of-concept exists, not actively weaponized), 'no' automatable exploitation (requires specific directory structure and file manipulation), and 'partial' technical impact (information disclosure plus privilege escalation potential). The divergence from GNU cp behavior is notable because it suggests the vulnerability may only affect systems explicitly using uutils coreutils as a cp replacement, which is less common than systems using GNU coreutils. However, in environments where uutils is deployed (embedded systems, containers, Rust-based tooling), local privilege escalation via this mechanism becomes viable. The 'Information Disclosure' tag suggests the primary risk is unauthorized access to sensitive files marked with setuid bits. Real-world impact depends heavily on deployment context: high risk for multi-user systems where untrusted users can manipulate files in shared directories, lower risk for single-user systems or those with strict filesystem permissions. No conflict between CVSS and EPSS data is apparent; this is a genuine privilege-boundary issue that is not trivially exploitable.

Exploit ScenarioDerived

An attacker with local user access on a system running uutils coreutils identifies a script or binary in a shared directory that is intended to be setuid root. The attacker copies this file using 'cp -p source dest' to a location where they have write permissions. Because the chown operation fails (the attacker lacks privilege to change ownership to root), but uutils cp still applies the original mode bits, the attacker's copy becomes a setuid binary owned by the attacker's user. The attacker then modifies this copy or arranges for a privileged process to execute it, gaining code execution in a higher privilege context.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 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

The cp utility in uutils coreutils improperly preserves setuid and setgid bits when the chown operation fails during file copying with the -p flag, potentially creating unprivileged user-owned files that retain elevated privilege bits and violate security policies. This behavior diverges from GNU cp, which strips these bits when ownership preservation fails. Local users with write access to directories can exploit this to create unexpected privileged executables.

RemediationAI

The primary remediation is to upgrade to a patched version of uutils coreutils once released by the maintainers. Check the GitHub repository at https://github.com/uutils/coreutils/issues/9750 for availability of a fix version. As a temporary workaround on systems that require uutils coreutils, avoid using the -p flag when copying files that may have setuid or setgid bits set, or use the GNU coreutils cp utility instead if available. For administrators unable to replace uutils coreutils immediately, restrict filesystem permissions to prevent unprivileged users from creating or manipulating files in directories where sensitive binaries are copied, and monitor for unexpected setuid/setgid executables using find commands such as 'find / -perm /6000 -type f' to detect privilege bit anomalies. Note that these workarounds reduce functionality or require environment changes; the definitive fix is to deploy a corrected version of uutils coreutils that strips privilege bits when chown fails, matching GNU cp behavior.

Affected Packages

cargo coreutils no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in cargo

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

Technical ContextAI · show details

The cp utility's -p (preserve) flag is designed to retain file metadata including ownership, permissions, and special mode bits (setuid, setgid, sticky). The vulnerability lies in uutils coreutils' handling of the privilege bits during the two-phase copy process: first copying file contents and applying permissions, then attempting to change ownership via chown(). When chown() fails (typically due to insufficient privileges to change file ownership to the original owner), GNU cp correctly strips setuid and setgid bits to prevent privilege escalation, while uutils coreutils incorrectly applies the source mode bits unconditionally. This is rooted in CWE-281 (Improper Preservation of Permissions), where the utility fails to adjust privilege attributes when the underlying precondition (successful ownership change) is not met. The issue affects all versions of uutils coreutils that implement the cp command with the -p preservation feature.

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 6.6 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

DescriptionCVE.org

The cp utility in uutils coreutils fails to properly handle setuid and setgid bits when ownership preservation fails. When copying with the -p (preserve) flag, the utility applies the source mode bits even if the chown operation is unsuccessful. This can result in a user-owned copy retaining original privileged bits, creating unexpected privileged executables that violate local security policies. This differs from GNU cp, which clears these bits when ownership cannot be preserved.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:uutils:coreutils:*:*:*:*:*:*:*:*
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-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-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-35352 HIGH
7.0 Apr 22

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

CVE-2026-35349 MEDIUM
6.7 Apr 22

Bypass of --preserve-root protection in uutils coreutils rm utility allows local users to recursively delete the root fi

CVE-2026-35365 MEDIUM
6.6 Apr 22

The mv utility in uutils coreutils improperly expands symbolic links instead of preserving them during moves across file

CVE-2026-35374 MEDIUM
6.3 Apr 22

The split utility in uutils coreutils contains a time-of-check to time-of-use (TOCTOU) race condition that allows local

CVE-2026-35364 MEDIUM
6.3 Apr 22

A time-of-check to time-of-use (TOCTOU) race condition in the mv utility of uutils coreutils during cross-device move op

CVE-2026-35360 MEDIUM
6.3 Apr 22

The touch utility in uutils coreutils suffers from a Time-of-Check to Time-of-Use (TOCTOU) race condition that allows lo

CVE-2026-35356 MEDIUM
6.3 Apr 22

Privilege escalation via symlink attack in uutils coreutils install utility when using the -D flag allows local attacker

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