Skip to main content

uutils coreutils CVE-2026-93658

| EUVDEUVD-2026-82940 HIGH
Improper Preservation of Permissions (CWE-281)
2026-09-18 VulnCheck GHSA-7xr6-4qqg-jjh9
7.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Gain local shell on capability-restricted host
  2. Delivery
    Privileged operator runs install with setuid mode + ownership change
  3. Exploit
    chown fails leaving invoker-owned setuid binary
  4. Execution
    Execute leftover setuid file
  5. Impact
    Inherit privileged invoker's privileges

Vulnerability Assessment

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

Requires local use of the install utility with BOTH a setuid/setgid mode (e.g. -m 4755 or -m 2755) AND a requested ownership change (e.g. -o root / -g), executed by a privileged invoker, on a system where the chown(2) operation actually FAILS - the vendor's own test guards on 'only meaningful when the chown can actually fail' (non-root euid or capability-restricted environment such as dropped CAP_CHOWN). Limiting factors: attack is local only (AV:L), needs the operator to already hold install privileges (PR:L), requires the specific capability-restricted precondition (AT:P) and is high-complexity (AC:H); on unrestricted systems where chown succeeds the setuid bits are correctly cleared and re-applied, so default root-capable hosts are not affected.

Impact

This is a genuine but modest-priority local privilege-escalation flaw, not a mass-exploitable remote issue despite the 7.3 score. The vendor CVSS 4.0 vector (AV:L/AC:H/AT:P/PR:L) is internally consistent with the description: exploitation is LOCAL, requires the attacker (or a privileged operator being abused) to already run install with elevated privilege (PR:L), demands a specific race/precondition (AT:P - a capability-restricted system where chown(2) actually fails), and is high-complexity (AC:H). No EPSS score, no CISA KEV listing, and no public weaponized exploit are present in the input - the only exploit-adjacent artifact is a regression test bundled in the fix commit, which demonstrates the flaw but is not an offensive POC. Signals are consistent rather than conflicting: high technical impact (VC:H/VI:H/VA:H) offset by strict local/privilege/environmental preconditions. Note the Tags list this as 'Information Disclosure,' which contradicts CWE-281 and the impact metrics - this is a privilege/permission-preservation bug (leftover setuid binary), not an info-leak, so the tag should be treated as mislabeled.

Exploit ScenarioDerived

On a Linux system with restricted capabilities (e.g. CAP_CHOWN dropped or a mount/namespace that blocks ownership changes), an operator runs install -m 4755 -o root src dst. uutils applies the setuid bit before the ownership change; the chown fails but the file remains as a setuid executable owned by the privileged invoker, so a lower-privileged local user can then execute dst to gain the invoker's privileges. No public exploit code is identified at time of analysis, though the vendor patch includes a test proving the leftover-setuid behavior.

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

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

Alert me

AnalysisAIv1 – Sep 18, 2026

Local privilege escalation in uutils coreutils before 0.10.0: the install utility applies a requested setuid/setgid mode (for example -m 4755 or -m 2755) to the destination before performing the requested ownership change, so if the underlying chown(2) call fails the file is left behind as a setuid/setgid executable owned by the privileged invoker who ran the command. Affected are uutils coreutils releases from 0.0.18 up to but not including 0.10.0 (CPE cpe:2.3:a:uutils:coreutils:*:*:*:*:*:*:*:*) on capability-restricted hosts where chown can actually fail, such as environments with euid != 0 or a dropped CAP_CHOWN; a local, authenticated low-privileged operator who can invoke install can then execute the leftover binary with elevated privileges. There is no CISA KEV listing and no public exploit code identified at time of analysis, and no EPSS score was provided; the honest risk picture is a genuine but modest-priority local flaw (CVSS:4.0 7.3 AV:L/AC:H/AT:P/PR:L, our independent CVSS:3.1 assessment AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H), not a mass-exploitable remote issue, because on unrestricted systems where chown succeeds the setuid bits are correctly cleared and re-applied.

RemediationAI

Vendor-released patch: upgrade to uutils coreutils 0.10.0 or later, which reorders install(1) so ownership is finalized before mode and skips the chmod when a privileged chown fails; the fix is carried by pull request https://github.com/uutils/coreutils/pull/13629 and commit 7c87ab04fee8e52d989fb2625568a3eeda1b1f55, and the advisory is at https://github.com/uutils/coreutils/security/advisories/GHSA-cgg3-923w-v53m. If upgrading is not immediately possible, the practical compensating controls are: stop invoking the uutils install with a setuid/setgid mode combined with an ownership change (-m 4755/-m 2755 together with -o/-g) on hosts where chown may fail - this removes the attack primitive entirely but also removes legitimate setuid-installation workflows, so use GNU coreutils' install for those specific operations instead; ensure the invoking context actually retains CAP_CHOWN or runs as root so chown succeeds and clears the bits (retaining the capability is a much narrower exposure than leaving installations in a half-finished state, but it does widen the invoker's privileges); and, as a detection and cleanup measure, audit install destinations and directory trees created by install -d for leftover setuid/setgid binaries (find / -perm -4000 -o -perm -2000) owned by a non-root privileged account and clear the bits with chmod u-s,g-s or chmod 0755/0644 - note this breaks any program that genuinely depended on those bits, so re-run the installation correctly afterward. On capability-restricted or non-root container builds, pinning to coreutils >= 0.10.0 in the image is strongly preferable to any of the workarounds above.

Affected VersionsENISA

coreutils 0.0.18 <0.10.0

Affected Packages

euvd coreutils fix: 0.10.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The flaw is an order-of-operations defect classified as CWE-281 (Improper Preservation of Permissions) in the Rust reimplementation of GNU coreutils. Unix semantics require ownership to be set before the mode: chown(2) itself clears the setuid/setgid bits, so GNU coreutils deliberately chowns first and chmods afterward. uutils did the reverse in src/uu/install/src/install.rs - in both the directory() helper (used by install -d) and the file path (strip_file()/install destination handling) - calling mode::chmod() with the caller-supplied mode (which may embed 0o4000/0o2000) before chown_optional_user_group(), and previously treating the failed chown with show_if_err! rather than aborting. When the chown fails (the upstream regression test explicitly guards on "only meaningful when the chown can actually fail," i.e. non-root euid or a container/namespace lacking CAP_CHOWN), the destination retains the setuid/setgid bits while remaining owned by the privileged invoker, producing exactly the privileged binary the operator asked for, minus the intended ownership transfer. The vendor fix (PR #13629, commit 7c87ab04fee8e52d989fb2625568a3eeda1b1f55) inverts the sequence so ownership is applied first, skips the chmod entirely when a privileged chown fails, and preserves SELinux context labeling behavior; a companion test asserts that a failed chown leaves mode & 0o6000 == 0 while confirming that -m 4755 without -o still applies full mode. The underlying technology is the install subcommand of uutils coreutils, distributed as a drop-in GNU coreutils replacement and increasingly used in minimal container images (e.g. uutils-based Debian/Ubuntu variants), where capability-restricted execution is common. Per the EUVD record (EUVD-2026-82940) the affected range is 0.0.18 through versions before 0.10.0.

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

Vendor (VulnCheck) PRIMARY 7.3 HIGH
CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.0 HIGH

Local vector via install (AV:L), needs privileged invoker (PR:L) and a capability-restricted host where chown fails (AC:H); leftover setuid binary yields full C/I/A on the local system, no scope change.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 7.0 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
High
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

uutils coreutils versions before 0.10.0 apply setuid or setgid mode to install destinations before finalizing ownership changes, allowing privileged users to leave setuid executables owned by the privileged invoker when ownership changes fail. Attackers can execute leftover setuid files with elevated privileges when ownership change operations fail on capability-restricted systems.

Technical POC Analysis

Evidence basis: GHSA-cgg3-923w-v53m (uutils/coreutils), PR #13629, and the patch diff at commit 7c87ab04fe.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

uutils coreutils, the Rust-based reimplementation of GNU coreutils used in a growing number of Linux distributions and container base images, contains a local privilege-escalation flaw in its install utility affecting releases 0.0.18 through 0.9.x. On capability-restricted hosts - systems running without full root or with CAP_CHOWN dropped - an authenticated local user can end up with a setuid executable owned by a privileged account, turning a routine file-install operation into an elevation path. Exposure is limited to systems that actually ship the affected package and operate in constrained-privilege configurations, making this a manageable but genuine risk to fleet and endpoint integrity rather than an internet-facing emergency.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
uutils coreutils adoption growing (Ubuntu 25.10 default) but still niche vs GNU coreutils
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor 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.2%
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
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
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-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-35350 MEDIUM
6.6 Apr 22

The cp utility in uutils coreutils improperly preserves setuid and setgid bits when the chown operation fails during fil

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

Vendor StatusVendor

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