Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify system using uutils coreutils
-
DeliveryCraft or observe script invoking chmod -R
-
ExploitManipulate target directory with mixed permission states
-
ExecutionTrigger script execution
-
PersistObserve false-success exit code
-
ImpactSensitive files retain unintended permissions
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Incorrect check of return value
|
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) uutils coreutils version 0.5.x or earlier must be installed and in use, typically via deliberate substitution or unusual distribution choice since GNU coreutils is standard on most Linux systems; (2) chmod must be invoked in recursive mode (-R flag) against a directory tree with multiple files; (3) at least one file in the traversal must encounter an error (permission denied, read-only filesystem, etc.) on an earlier file, while the final file processed succeeds. The vulnerability does NOT manifest if all files are processed successfully or if all fail-it specifically requires mixed success/failure outcomes. Non-recursive chmod (single-file or implicit single-level mode) is not affected. No special network access, authentication bypass, or default misconfiguration is required; the flaw is inherent to the recursive implementation. |
| Impact | This vulnerability presents moderate real-world risk despite a CVSS score of 5.5. The CVSS vector (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N) correctly reflects local attack vector and high integrity impact, but the practical threat depends heavily on deployment context. SSVC decision framework classifies this as non-exploitable in the traditional sense (Exploitation: none), non-automatable (requires local privileged or user-level access and a script relying on exit codes), and partial technical impact. The vulnerability is a logic flaw, not a memory corruption or code execution vector, limiting offensive potential. However, integrity impact is HIGH because automated permission-setting scripts-common in system administration, containerization, and configuration management-may silently fail to enforce intended access controls. The risk is elevated in CI/CD pipelines, infrastructure-as-code deployments, and privileged automation where humans do not manually verify chmod success. Organizations using uutils coreutils in place of GNU coreutils should prioritize patching. The vulnerability is NOT actively exploited in the wild (no KEV status, no public POC identified), reducing urgency but not eliminating it. |
| Exploit ScenarioDerived | A system administrator deploys an automated script that recursively changes permissions on a sensitive directory (e.g., chmod -R 0600 /etc/secrets) as part of a hardening playbook. The script checks only the exit code returned by chmod. On some files, the operation fails due to filesystem constraints or permission denials on the parent directory, but because the last file processed succeeds, chmod returns exit code 0. The script completes without error notification, and subsequent log review or compliance audits discover that critical files retain world-readable permissions, exposing sensitive data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 23, 2026
The chmod utility in uutils coreutils versions prior to 0.6.0 incorrectly reports success (exit code 0) when recursively processing multiple files, even if permission changes fail on earlier files due to access restrictions or other errors. This causes scripts and automation to proceed under a false assumption that all files were modified correctly, potentially leaving sensitive files with unintended or restrictive permissions.
RemediationAI
Upgrade uutils coreutils to version 0.6.0 or later, which includes the fix to properly aggregate exit codes across all files processed in recursive mode. Organizations using uutils coreutils should verify their package sources and dependency declarations. For immediate mitigation prior to upgrade, scripts relying on chmod exit codes should be modified to add explicit permission verification steps: after invoking chmod -R, run a secondary find or stat command to confirm that all intended files have the correct permissions, treating any discrepancies as a failure condition. This workaround adds performance overhead and complexity but ensures that permission enforcement is not bypassed by the exit code bug. No alternative mode or configuration flag can disable this vulnerability-upgrade is the only reliable fix.
Affected VersionsENISA
Affected Packages
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 chmod utility is a core file permission management tool that supports recursive directory traversal via the -R flag. The vulnerability stems from a logic error in exit code aggregation (CWE-253: Incorrect Check of Function Return Value), where the final exit status reflects only the outcome of the last file processed rather than accumulating or reporting the worst-case error encountered. In properly designed utilities, exit codes should reflect aggregate success or the first/most critical error. The affected coreutils library is a cross-platform reimplementation of Unix core utilities in Rust, and the bug affects the command-line chmod interface when invoked with recursive mode.
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
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionCVE.org
The recursive mode (-R) of the chmod utility in uutils coreutils incorrectly handles exit codes when processing multiple files. The final return value is determined solely by the success or failure of the last file processed. This allows the command to return an exit code of 0 (success) even if errors were encountered on previous files, such as 'Operation not permitted'. Scripts relying on these exit codes may proceed under a false sense of success while sensitive files remain with restrictive or incorrect permissions.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The parse_datetime function in GNU coreutils allows remote attackers to cause a denial of service (crash) or possibly ex
Privilege escalation to root in uutils coreutils chroot utility allows low-privileged local attackers with write access
Local privilege escalation in uutils coreutils before 0.10.0: the `install` utility applies a requested setuid/setgid mo
Recursive chmod operations can bypass --preserve-root protection in uutils coreutils versions prior to 0.6.0, allowing l
Local privilege escalation in uutils coreutils mkfifo allows authenticated users to downgrade permissions on arbitrary f
Privilege escalation in uutils coreutils mkfifo utility allows local attackers with low privileges to manipulate file pe
Bypass of --preserve-root protection in uutils coreutils rm utility allows local users to recursively delete the root fi
The mv utility in uutils coreutils improperly expands symbolic links instead of preserving them during moves across file
The cp utility in uutils coreutils improperly preserves setuid and setgid bits when the chown operation fails during fil
The split utility in uutils coreutils contains a time-of-check to time-of-use (TOCTOU) race condition that allows local
A time-of-check to time-of-use (TOCTOU) race condition in the mv utility of uutils coreutils during cross-device move op
The touch utility in uutils coreutils suffers from a Time-of-Check to Time-of-Use (TOCTOU) race condition that allows lo
EUVD-2026-24965
GHSA-4x34-chg5-mwjj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB