Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain low-privilege shell in target container
-
DeliveryLocate accessible su-exec binary
-
ExploitInvoke su-exec with UID argument 4294967296 (2^32)
-
Executionstrtol result truncates to uid_t 0
-
ImpactTarget process executes as root
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires the attacker to have at least low-privilege local code execution on the target system (PR:L per the CVSS 4.0 vector). The attacker must be able to invoke the su-exec binary directly - either because it is installed SUID-root and accessible to the attacker's user account, or because su-exec is called by a script the attacker can influence with arbitrary arguments. The target system must be a 64-bit Linux platform where long is 64-bit and uid_t is 32-bit (standard on x86_64 Linux), which is the case for effectively all modern Alpine Linux Docker containers. No special application feature flag or non-default configuration is required beyond su-exec being present and executable. Limiting factors are: (1) initial local or container-level access must be obtained via a separate vector since AV:L precludes direct remote exploitation; (2) su-exec must be present in the environment, which is common in Alpine Linux Docker images but not universal; (3) the attacker must be able to control the UID/GID argument passed to su-exec, which is trivially satisfied when the attacker has shell access. |
| Impact | The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) scores 8.5 and accurately characterizes a locally exploitable, low-complexity privilege escalation requiring only low initial privileges - no special configuration, no user interaction, and no race condition. No EPSS data was provided in the source intelligence; however, the existence of a public proof-of-concept gist and the trivial exploitation mechanics (passing a single oversized integer argument) drive the realistic exploitation probability significantly higher than the absence of CISA KEV listing would suggest. The KEV-absent/POC-present signal combination is consistent with targeted exploitation or early-stage weaponization rather than confirmed broad campaigns. The primary risk context is Docker and Alpine Linux container environments where su-exec is embedded in entrypoint scripts: a low-privilege container breakout or web shell grants direct access to the su-exec binary, enabling immediate root escalation. The local attack vector (AV:L) is the primary mitigating signal - remote-only adversaries cannot exploit this without a separate initial access chain. The 'Information Disclosure' tag in the source intelligence is secondary to the primary impact of privilege escalation and full system compromise. |
| Exploit ScenarioDerived | An attacker who has obtained a low-privilege shell inside a Docker container - for example, via exploitation of a web application vulnerability exposing remote code execution - locates the su-exec binary in the container filesystem. The attacker invokes su-exec with a crafted numeric UID argument of 4294967296 (2^32), which strtol() parses without error on a 64-bit system but which silently truncates to UID 0 upon assignment to uid_t, causing the target program to launch with root privileges. A public proof-of-concept demonstrating this technique is available at https://gist.github.com/thesmartshadow/ed96e2a88643c34a247c9b7cf9e311be. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 29, 2026
Privilege escalation in su-exec through version 0.3 allows local attackers with low-privilege access to execute arbitrary programs as root by supplying crafted oversized numeric user or group identifiers. The root cause is an unchecked integer truncation: strtol() returns a 64-bit long on modern Linux, but su-exec assigns the result directly to uid_t and gid_t (32-bit unsigned integers) without range validation - values like 4294967296 (2^32) silently truncate to UID/GID 0, the root account. A public proof-of-concept is available and no vendor-released patch has been identified at time of analysis, making this an active remediation gap for container deployments dependent on su-exec.
RemediationAI
No vendor-released patch has been identified at time of analysis; administrators should monitor the upstream repository at https://github.com/ncopa/su-exec for a patched release. As an immediate compensating control, remove the SUID/SGID bit from the su-exec binary where it is not strictly required, using chmod u-s su-exec - note this will break entrypoint scripts that rely on su-exec for privilege-dropping under a non-root outer process, requiring those scripts to be restructured. Where su-exec is invoked with externally controlled or user-supplied UID/GID arguments, add application-level validation to reject values outside the valid range (typically 0-65535) before they reach su-exec. For container environments, consider replacing su-exec with an actively maintained alternative such as gosu, verifying that UID/GID parsing in the replacement tool performs proper range validation; evaluate image rebuild compatibility before substituting. Restrict container runtime privileges using --security-opt no-new-privileges and rootless container modes to reduce the blast radius of a successful escalation.
Affected VersionsENISA
Affected Packages
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
su-exec (CPE: cpe:2.3:a:ncopa:su-exec:*:*:*:*:*:*:*:*) is a minimal privilege-dropping C utility authored by ncopa (Natanael Copa, core Alpine Linux developer), widely embedded in Docker container entrypoint scripts to switch from a privileged initial process to a specified unprivileged user before launching the main service. The flaw is CWE-681 (Incorrect Conversion Between Numeric Types): strtol() is called to parse numeric UID/GID command-line arguments and returns a long (64-bit on x86_64 Linux), but the result is cast directly to uid_t and gid_t, which are defined as unsigned 32-bit integers (uint32_t). On a 64-bit platform, the value 4294967296 (0x100000000) is a valid long but truncates to exactly 0x00000000 - UID 0 - upon narrowing conversion. The source code at commit 89c016e (https://github.com/ncopa/su-exec/blob/89c016e6e08749d583efdeda04b9f73e1218e253/su-exec.c) confirms the absent bounds check prior to the uid_t/gid_t assignment, and the VulnCheck advisory corroborates the mechanism.
Know when Su Exec 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
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Local vector because su-exec must be directly invoked; PR:L because low-privilege local access is required; full C/I/A impact upon successful root escalation; scope unchanged as privilege escalation occurs within the same authorization boundary.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
su-exec through 0.3 fails to validate numeric user and group identifiers parsed with strtol before assigning to uid_t and gid_t, allowing truncation of out-of-range values to zero. Attackers can supply large numeric identifiers that truncate to root's identifier, causing su-exec to execute target programs with root privileges instead of intended unprivileged accounts.
Executive ViewAI
su-exec versions through 0.3 contain a privilege escalation vulnerability (CVSS 8.5) that allows local attackers to gain root-level access through integer truncation of user IDs, creating a direct path to container compromise and potential lateral movement across infrastructure. Organizations deploying su-exec in containerized environments face immediate risk of privilege escalation attacks that bypass container isolation assumptions.
No vendor-released patch identified at time of analysis. Interim mitigations: disable su-exec if operationally feasible; drop CAP_SETUID and CAP_SETGID Linux capabilities in container runtime policies to prevent privilege escalation; restrict file permissions on su-exec binary to prevent execution by unauthorized users; evaluate alternative privilege-dropping mechanisms including dumb-init, tini, or specialized container runtimes; implement strict container image scanning and hardening policies.
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.
EUVD-2026-68104
GHSA-qpg9-jg2w-m84x
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB