Skip to main content

uutils coreutils EUVDEUVD-2026-25038

| CVE-2026-35381 LOW
Incorrect Provision of Specified Functionality (CWE-684)
3.3
CVSS 3.1 · Vendor: canonical
View

Attack ChainAIDerived

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

  1. Access
    Local user invokes cut command
  2. Delivery
    Specifies -s, -z, and -d '' flags together
  3. Exploit
    Parser routes to newline-delimiter code path
  4. Execution
    Suppression check is bypassed
  5. Persist
    Unfiltered records are emitted
  6. Impact
    Downstream tools ingest corrupted data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect provision of specified functionality
Exploitation Conditions

The vulnerability requires all three conditions to be met simultaneously: (1) the cut utility is invoked with the -s (only-delimited) flag, (2) the -z (null-terminated) option is specified, and (3) the -d '' (empty delimiter) option is used. This is a non-default, uncommon combination; standard usage of cut employs field delimiters (e.g., -d ':' for passwd files) or operates on newline-delimited data without -z. The vulnerability affects only local users with permissions to execute the cut utility; it cannot be triggered remotely. The logic error occurs during normal execution once the flags are combined, with no additional authentication bypass or privilege escalation required beyond the ability to run cut itself.

Impact

CVSS 3.3 (AV:L/AC:L/PR:L/UI:N/S:U) indicates local attack vector with low complexity and low-privilege requirement, but limited scope and only integrity impact-no confidentiality or availability loss. SSVC assessment confirms this is not an exploitation priority: exploitation status is 'none' (no evidence of active attacks), the attack is 'not automatable' (requires deliberate invocation of the specific flag combination), and technical impact is 'partial' (data corruption rather than system compromise). However, the real-world risk varies by deployment context. For automated data processing pipelines-such as ETL workflows, log aggregation, or security information and event management (SIEM) ingestion-this creates silent data loss where malformed records bypass filtering, potentially corrupting downstream analysis or regulatory compliance logs. The low SSVC score reflects that exploitation requires intentional use of an uncommon flag combination and is limited to local/privileged contexts, making it unsuitable for remote worm-like spread. For defenders, the priority should be medium: identify if cut -s with -z and -d '' is used in any pipeline, and if so, upgrade immediately. For most general users, this is a low-priority patch unless their workflows depend on this exact combination.

Exploit ScenarioDerived

An administrator or unprivileged user runs a data processing script that uses 'cut -s -z -d '' input.txt' to filter null-terminated records without delimiters from a log file or structured data source. Instead of suppressing the undelimited records, uutils cut emits all records including those without delimiters, causing downstream tools to ingest malformed or unexpected data. If the pipeline feeds a security log aggregation system, this could result in false negatives or corrupted security events being stored, degrading the visibility of security incidents.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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

Logic error in uutils coreutils cut utility causes incorrect behavior when combining the -s (only-delimited), -z (null-terminated), and -d '' (empty delimiter) flags, resulting in unfiltered records being emitted instead of suppressed. This breaks data integrity for automated pipelines relying on cut -s to exclude records without delimiters, affecting local users with limited privileges. The vulnerability has low exploitability (CVSS 3.3, SSVC indicates no exploitation status and non-automatable attack), but poses information disclosure and data corruption risks in security-sensitive data processing workflows.

RemediationAI

Upgrade uutils coreutils to version 0.8.0 or later, which includes the patch merged in PR https://github.com/uutils/coreutils/pull/11394. For systems unable to upgrade immediately, audit any data processing pipelines using cut with the -s flag combined with -z and -d '' options; if found, either remove the -z or -d '' flags (use the default newline delimiter and colon delimiter respectively), or replace with GNU coreutils cut, which does not have this bug. Note that switching back to GNU coreutils may have performance or compatibility implications depending on the deployment environment. If the pipeline cannot be modified, add a secondary validation step downstream to detect and filter records that should have been suppressed, at the cost of additional processing overhead.

Affected VersionsENISA

coreutils 0 <0.8.0

Affected Packages

cargo coreutils fix: 0.8.0
cargo uu_cut fix: 0.8.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 project is a cross-platform reimplementation of GNU coreutils utilities in Rust. The cut utility parses fixed-width fields or delimited records from text input. The vulnerability exists in the record-filtering logic when the -s flag (suppress lines without delimiters) is combined with -z (null-terminated records instead of newlines) and -d '' (empty delimiter). The implementation incorrectly routes this specific flag combination through a specialized newline-delimiter code path that bypasses the suppression check defined by CWE-684 (Uncontrolled Recursion / Incorrect Control Flow). When both -z and -d '' are specified, the code fails to evaluate the record-suppression status, causing the utility to emit entire records including NUL terminators even when they lack delimiters. This diverges from GNU coreutils behavior, which correctly suppresses such records when -s is set.

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 (canonical) PRIMARY 3.3 LOW
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

Primary rating from Vendor (canonical) · only source for this CVE.

CVSS VectorVendor: canonical

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

Lifecycle Timeline

2
Patch released
Apr 22, 2026 - 16:31 nvd
Patch available
CVE Published
Apr 22, 2026 - 16:09 nvd
LOW 3.3

DescriptionCVE.org

A logic error in the cut utility of uutils coreutils causes the utility to ignore the -s (only-delimited) flag when using the -z (null-terminated) and -d '' (empty delimiter) options together. The implementation incorrectly routes this specific combination through a specialized newline-delimiter code path that fails to check the record suppression status. Consequently, uutils cut emits the entire record plus a NUL byte instead of suppressing it. This divergence from GNU coreutils behavior creates a data integrity risk for automated pipelines that rely on cut -s to filter out undelimited data.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Low
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +16
PoC: +20
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.

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-35349 HIGH
7.7 Apr 22

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

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