Skip to main content

uutils coreutils CVE-2026-35366

| EUVDEUVD-2026-25014 MEDIUM
Improper Check for Unusual or Exceptional Conditions (CWE-754)
4.4
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Local user crafts invalid UTF-8 environment variable
  2. Delivery
    Injects variable into vulnerable printenv scope
  3. Exploit
    Runs printenv to verify evasion
  4. Execution
    Administrator checks printenv output
  5. Persist
    Malicious variable silently omitted
  6. Impact
    Attack evades detection

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Unusual condition handling
Exploitation Conditions

Exploitation requires the following specific conditions: (1) the target system must be running uutils coreutils printenv utility version before 0.6.0, not the standard GNU coreutils or other printenv implementations; (2) the attacker must have local user-level access to the target system (unprivileged account, PR:L from CVSS); (3) the attacker must be able to inject or set environment variables in a context where a subsequent process or administrator invokes printenv to inspect them (such as in a user shell session or through cron/systemd user services); (4) the malicious environment variable must contain at least one byte sequence that is invalid UTF-8 to trigger the evasion; and (5) the administrator or security tool must rely exclusively on printenv output for environment auditing without supplementary inspection methods. Systems using GNU coreutils (the standard implementation on most Linux distributions) are NOT affected by this vulnerability. Environments using alternative environment inspection methods (procfs, strace, kernel audit frameworks) are not vulnerable to detection evasion even if uutils coreutils is installed, because those methods retrieve raw bytes without UTF-8 filtering.

Impact

The CVSS score of 4.4 with AV:L/AC:L/PR:L indicates localized attack surface requiring unprivileged user execution with low complexity. SSVC data confirms proof-of-concept availability (Exploitation: poc) but marks the attack as non-automatable (Automatable: no), with only partial technical impact. This scoring profile suggests the vulnerability is primarily a detection evasion mechanism rather than a high-severity code execution vector. Real-world risk depends on deployment context: the threat is significant only when an attacker already has local system access and can inject malicious LD_PRELOAD or similar variables, and when administrators depend on printenv output for security auditing. The non-automatable classification implies that exploitation requires deliberate, targeted setup rather than widespread scripted attacks. The absence of KEV (CISA Known Exploited Vulnerabilities) listing despite POC availability suggests limited real-world exploitation to date. For most organizations running uutils coreutils, the risk is moderate and tied to the degree of reliance on printenv for environment monitoring - infrastructure already using other inspection methods (strace, procfs, etc.) would see minimal incremental risk from this specific gap.

Exploit ScenarioDerived

An unprivileged local user crafts a malicious environment variable containing invalid UTF-8 sequences in a strategic variable name like LD_PRELOAD, embedding an encoded reference to a compromised shared library. The user launches a privileged application in their session or via a privilege-escalation vector. When administrators run printenv to audit the environment for suspicious injection, the malicious LD_PRELOAD entry is silently omitted from the output due to the UTF-8 decoding failure, allowing the injection to evade detection. The library is then loaded into the privileged process, enabling code execution within that privilege context. Proof-of-concept code demonstrating this evasion is available at https://github.com/uutils/coreutils/issues/9701.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

The printenv utility in uutils coreutils versions before 0.6.0 silently omits environment variables containing invalid UTF-8 byte sequences, allowing adversarial environment variables such as malicious LD_PRELOAD values to evade inspection by administrators and security auditing tools. This evasion capability enables library injection and other environment-based attacks to bypass detection, affecting systems that rely on printenv for security auditing or environment validation. The vulnerability requires local access with unprivileged user privileges (PR:L) to exploit and carries a CVSS score of 4.4 with confirmed proof-of-concept availability.

RemediationAI

Vendor-released patch: uutils coreutils version 0.6.0 and later. Upgrade the affected package to version 0.6.0 or newer from the official repository at https://github.com/uutils/coreutils/releases/tag/0.6.0. For systems unable to upgrade immediately, implement compensating controls by replacing reliance on printenv for security auditing with alternative introspection methods: use /proc/[pid]/environ on Linux (which preserves raw bytes), invoke strace to observe environment setup at process launch, or employ LSM-based auditing (AppArmor, SELinux) to monitor environment variable injection attempts. These alternatives provide byte-accurate environment inspection and detect injection attempts even when printenv would be blind. The trade-off is increased operational complexity and resource consumption (strace on production systems). Until patched, assume that printenv output on systems running uutils coreutils is incomplete and should not be the sole basis for environment validation decisions.

Affected VersionsENISA

coreutils 0 <0.6.0

Affected Packages

cargo coreutils fix: 0.6.0
cargo uu_printenv fix: 0.6.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 vulnerability stems from improper handling of UTF-8 validation in the printenv utility. While POSIX standards explicitly permit arbitrary byte sequences in environment variables, uutils coreutils implements a validation layer that silently discards environment entries failing UTF-8 decoding rather than printing raw bytes as-is. This behavior violates the principle of complete environment introspection and creates a blind spot for security tools. The underlying issue is classified under CWE-754 (Improper Check for Unusual or Exceptional Conditions), reflecting the failure to handle the exceptional but valid case of non-UTF-8 environment data. The affected product is the uutils coreutils project (CPE: cpe:2.3:a:uutils:coreutils:*:*:*:*:*:*:*:*), a Rust-based rewrite of GNU coreutils utilities that aims for POSIX compliance but diverges in this edge case.

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

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
Low
Availability
None

Lifecycle Timeline

2
Patch released
Apr 22, 2026 - 16:31 nvd
Patch available
CVE Published
Apr 22, 2026 - 16:08 nvd
MEDIUM 4.4

DescriptionCVE.org

The printenv utility in uutils coreutils fails to display environment variables containing invalid UTF-8 byte sequences. While POSIX permits arbitrary bytes in environment strings, the uutils implementation silently skips these entries rather than printing the raw bytes. This vulnerability allows malicious environment variables (e.g., adversarial LD_PRELOAD values) to evade inspection by administrators or security auditing tools, potentially allowing library injection or other environment-based attacks to go undetected.

Threat Intelligence Overview

EPSS Score
0.0%
Top 99% exploitable
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
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

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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-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

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