Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain local low-privilege access
-
DeliveryIdentify chroot target with write permissions
-
ExploitCraft malicious NSS module (libnss_*.so.2)
-
InstallPlace module in NEWROOT/lib path
-
C2Wait for chroot --userspec execution
-
ExecuteNSS loads malicious library as root
-
ImpactExecute arbitrary code with root privileges
-
Step 8Escape container or escalate to full system control
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path verification
|
| Exploitation Conditions | Exploitation requires the attacker to have write access to the directory specified as NEWROOT in the chroot command, which is a non-default insecure configuration. Specifically, the NEWROOT directory (or subdirectories where NSS modules are loaded, typically /lib or /lib64) must be writable by the low-privileged attacker before the chroot command executes. The chroot utility must be invoked with the --userspec option to trigger getpwnam() user resolution. The target system must use glibc as its C library implementation, as the vulnerability depends on glibc's Name Service Switch dynamic module loading behavior. Attack is limited to local access (AV:L) and requires the attacker to already have low-privilege local credentials (PR:L). High attack complexity (AC:H) reflects the need for write access to the chroot target, timing the file placement before chroot execution, and knowledge of the correct NSS module path conventions. These conditions are unlikely in properly configured container environments where chroot directories are administrator-controlled read-only filesystems, but may exist in development environments, shared build systems, or misconfigured multi-tenant platforms where users can write to directories later used as chroot targets. |
| Impact | Real-world risk assessment reveals multiple limiting factors despite the high CVSS score. The CVSS vector (AV:L/AC:H/PR:L) indicates local access with high attack complexity and low privileges required, not remote exploitation. Attack complexity is high because exploitation requires the attacker to have both local access and write permissions to the NEWROOT directory being used as the chroot target-a configuration that violates basic container security principles where chroot directories should be administrator-controlled and read-only. SSVC framework confirms POC exists (exploitation: poc) and total technical impact, but critically notes the attack is not automatable, requiring specific environmental conditions. The Scope Changed metric is the most concerning aspect, indicating container escape potential where this affects containerized workloads using uutils coreutils. However, adoption of uutils coreutils versus standard GNU coreutils remains limited primarily to Rust-centric environments, significantly reducing attack surface. No EPSS score or KEV status provided-absence from CISA KEV despite POC availability suggests no widespread exploitation observed. Primary risk exists in containerized build environments or multi-tenant systems where users can write to directories that later become chroot targets, which represents a deployment anti-pattern. Organizations using standard GNU coreutils or properly configured immutable container images face no risk. |
| Exploit ScenarioDerived | An attacker with low-level local access to a build server or multi-tenant container platform identifies a container build process that uses uutils coreutils chroot with --userspec to create isolated environments. The attacker discovers they have write access to a shared /tmp directory that becomes the NEWROOT during container creation. Before the build process executes 'chroot --userspec user:group /tmp/container_root /bin/sh', the attacker places a malicious libnss_files.so.2 library in /tmp/container_root/lib/x86_64-linux-gnu/ containing a constructor function with arbitrary shellcode. When chroot executes with --userspec, getpwnam() triggers NSS to load the attacker's malicious library with root privileges before privilege dropping occurs, executing the injected code as root and granting full system access or container escape. Publicly available POC code exists demonstrating the injection technique. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 23, 2026
Privilege escalation to root in uutils coreutils chroot utility allows low-privileged local attackers with write access to the chroot target directory to execute arbitrary code via malicious NSS module injection. The vulnerability triggers when --userspec option causes getpwnam() to load attacker-controlled shared libraries from the new root before dropping privileges, enabling container escape or full system compromise on glibc-based systems. CVSS 7.8 with Scope Changed indicates host compromise from containerized environments. SSVC framework confirms POC availability and total technical impact, though exploitation requires specific configuration (writable NEWROOT) and is not automatable.
RemediationAI
Primary remediation requires upgrading uutils coreutils to a patched version once available-monitor the GitHub issue at https://github.com/uutils/coreutils/issues/10327 and official uutils releases for fix announcements. Until a patch is released, implement the following specific compensating controls: First, ensure all NEWROOT directories used with chroot are owned by root with permissions 0755 or more restrictive, preventing unprivileged write access (verify with 'find /path/to/chroots -type d -perm -002' to identify world-writable directories). Second, avoid using the --userspec option entirely if possible-perform user context changes outside the chroot or use alternative containerization technologies like namespaces with proper user mapping. Third, in containerized environments, replace uutils coreutils with standard GNU coreutils in base images, accepting the trade-off of using C-based rather than memory-safe implementations. Fourth, implement mandatory access control (SELinux/AppArmor) policies that prevent loading shared libraries from user-writable paths even when executed as root, though this adds operational complexity for legitimate NSS module loading. Fifth, audit systems for uutils coreutils usage with 'chroot --version' and inventory where it appears in container images, build pipelines, or system installations.
Affected Packages
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 vulnerability affects the chroot implementation in uutils coreutils, a Rust-based reimplementation of GNU coreutils utilities. When the --userspec option is used to change user context, the chroot utility calls getpwnam() to resolve user specifications after chrooting but before dropping root privileges. On glibc-based systems, this triggers the Name Service Switch (NSS) framework to dynamically load shared libraries (libnss_*.so.2 modules) from the new root directory to perform user lookups. The timing vulnerability (CWE-426: Untrusted Search Path) creates a window where NSS modules are loaded with root privileges from attacker-controlled directories. This differs from proper implementations that drop privileges before any untrusted code execution or perform user resolution before entering the chroot jail. The Scope Changed (S:C) in the CVSS vector indicates the vulnerability breaks security boundaries, allowing escape from containerized environments where uutils coreutils might be used instead of GNU coreutils.
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:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Primary rating from Vendor (canonical) · only source for this CVE.
CVSS VectorVendor: canonical
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability exists in the chroot utility of uutils coreutils when using the --userspec option. The utility resolves the user specification via getpwnam() after entering the chroot but before dropping root privileges. On glibc-based systems, this can trigger the Name Service Switch (NSS) to load shared libraries (e.g., libnss_*.so.2) from the new root directory. If the NEWROOT is writable by an attacker, they can inject a malicious NSS module to execute arbitrary code as root, facilitating a full container escape or privilege escalation.
Executive ViewAI
CVE-2026-35368 is a privilege escalation flaw in uutils coreutils chroot utility that allows low-privileged attackers with write access to inject malicious code and achieve root-level execution, potentially enabling container escape and full system compromise on Linux systems using glibc. Organizations running containerized workloads or multi-tenant environments where untrusted users have write access to container rootfs directories face immediate risk of lateral movement and host takeover.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict write permissions on chroot NEWROOT directories to root/privileged accounts only using chmod 755; (2) Enforce AppArmor or SELinux policies blocking dlopen() and library loading from within chroot-jailed contexts; (3) Disable the --userspec option if not required; (4) Monitor for suspicious NSS module creation in chroot directories using auditd rules targeting execve() and open() syscalls; (5) Isolate systems running chroot from sensitive network resources using firewall rules.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Affected Products (CPE)CVE.org
The parse_datetime function in GNU coreutils allows remote attackers to cause a denial of service (crash) or possibly ex
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
The ln utility in uutils coreutils fails to process source paths containing non-UTF-8 filename bytes when using target-d
The chmod utility in uutils coreutils versions prior to 0.6.0 incorrectly reports success (exit code 0) when recursively
The mknod utility in uutils coreutils creates device nodes before atomically applying SELinux security labels, and fails
The printenv utility in uutils coreutils versions before 0.6.0 silently omits environment variables containing invalid U
Bypass of --preserve-root protection in uutils coreutils rm utility allows local users to recursively delete the root fi
Local privilege escalation in uutils coreutils before 0.10.0: the `install` utility applies a requested setuid/setgid mo
Logic error in uutils coreutils cut utility causes incorrect behavior when combining the -s (only-delimited), -z (null-t
The id utility in uutils coreutils displays incorrect effective user information in its pretty-print output when real an
Privilege escalation in uutils coreutils mkfifo utility allows local attackers with low privileges to manipulate file pe
EUVD-2026-25016
GHSA-mh5c-xrmh-m794
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB