CVE-2026-34040
High · 8.8CVSS
8.8
EPSS
0.2%
Published
Mar 31, 2026
CISA due date
—
Cloudanix analysis
A flaw in the container software could allow a user with limited access to bypass security rules and take full control of the server.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Container Runtime
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows a local attacker with low privileges to bypass authorization (AuthZ) plugins. Due to a scope change (S:C), the attacker can escape the intended security context of a container and execute commands or access resources on the underlying host system with high privileges, leading to a full compromise of the host's confidentiality, integrity, and availability.
Why it matters to the business
An attacker can escalate privileges from a container to gain complete control of the host system. This could lead to the compromise of all applications running on the host, theft or manipulation of sensitive data, service disruption, and the use of the compromised system as a pivot point for further attacks within the network. The relatively high EPSS score indicates a significant likelihood of exploitation, increasing the urgency for remediation.
How an attack unfolds
An attacker with initial low-privileged access to a container on a vulnerable host crafts a specific API request to the container daemon. The daemon fails to correctly consult or enforce the decision of the configured authorization plugin. As a result, the attacker's unauthorized request to perform a privileged action, such as creating a new container with elevated permissions or mounting a sensitive host directory, is improperly granted. This allows the attacker to break out of the container's isolation and achieve arbitrary code execution on the host system, effectively escalating their privileges to root.
How to fix it
To remediate this vulnerability, upgrade Moby or its downstream distributions (like Docker Engine) to version 29.3.1 or later. If an immediate upgrade is not feasible, mitigate the risk by strictly limiting access to the container daemon API, avoiding exposure of the Docker socket to containerized processes, and applying the principle of least privilege for all users interacting with the container runtime.
How to confirm the fix worked
To confirm remediation, verify that the installed version of the container engine is 29.3.1 or newer by running the appropriate version check command (e.g., `docker --version`). To test for exposure, configure an authorization plugin to deny a specific action (e.g., creating privileged containers) and then attempt that action as a non-admin user. If the action is correctly blocked, the vulnerability is likely mitigated. If the action succeeds, the system remains vulnerable.
Typical attack path
- Attacker gains initial access to a container, either as a legitimate low-privileged user or through a separate vulnerability.
- The attacker crafts and sends a malicious API call to the container daemon to perform a privileged operation.
- The vulnerable daemon processes the request but fails to properly enforce the configured authorization plugin's policy, bypassing the security control.
- The attacker's request is successfully executed, granting them elevated capabilities, such as mounting host file systems into a container.
- The attacker leverages this access to escape the container and gain full administrative control over the host system.
How to detect it
Monitor container daemon audit logs for successful privileged operations that should have been denied by your authorization plugin. Look for events such as container creation with the `--privileged` flag, or host path volume mounts (`-v /:/host`) that violate security policy, especially when initiated by non-administrative users. Correlate these API logs with process execution monitoring on the host to detect suspicious commands originating from container processes. A successful exploit would likely result in anomalous shell activity or file access on the host originating from a container's process namespace.
What your security team should do
- Immediately prioritize patching all container hosts running vulnerable versions of Moby/Docker Engine to 29.3.1 or a later release.
- Audit container daemon logs for any successful privileged operations (e.g., creating privileged containers, mounting sensitive host paths) initiated by unexpected user accounts.
- Implement runtime security monitoring tools to detect and alert on potential container escape behavior and anomalous process execution on container hosts.
- Review and enforce strict access control policies for the container daemon API, ensuring only trusted administrative users can interact with it.
The record
Moby is an open source container framework. Prior to version 29.3.1, a security vulnerability has been detected that allows attackers to bypass authorization plugins (AuthZ). This issue has been patched in version 29.3.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | apko | 0 | 1.2.0-r0 |
| Chainguard | goreleaser | 0 | 2.15.0-r0 |
| Chainguard | jfrog-cli | 0 | 2.98.0-r0 |
| Chainguard | neuvector-scanner | 0 | 4.126-r0 |
| Chainguard | neuvector-scanner-fips | 0 | 4.126-r0 |
| Chainguard | neuvector-scanner-fips-task-fips | 0 | 4.126-r0 |
| Chainguard | neuvector-scanner-task | 0 | 4.126-r0 |
| Chainguard | wolfictl | 0 | 0.39.6-r2 |
| Chainguard | zarf | 0 | 0.74.1-r0 |
| Chainguard | zarf-fips | 0 | 0.74.1-r0 |
| Wolfi | apko | 0 | 1.2.0-r0 |
| Wolfi | goreleaser | 0 | 2.15.0-r0 |
| Wolfi | neuvector-scanner | 0 | 4.126-r0 |
| Wolfi | neuvector-scanner-task | 0 | 4.126-r0 |
| Wolfi | wolfictl | 0 | 0.39.6-r2 |
| Wolfi | zarf | 0 | 0.74.1-r0 |
| openSUSE:Leap 15.6 | govulncheck-vulndb | 0 | 0.0.20260402T184258-150000.1.158.1 |
| openSUSE:Leap 16.0 | docker-stable | 0 | 24.0.9_ce-160000.6.1 |
| openSUSE:Tumbleweed | docker-stable | 0 | 24.0.9_ce-18.1 |
Related vulnerabilities
- CVE-2026-34986 Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of… Also affects apko
- CVE-2026-34165 go-git is an extensible git implementation library written in pure Go. Also affects apko
- CVE-2026-33762 go-git is an extensible git implementation library written in pure Go. Also affects apko
- CVE-2026-33997 Moby is an open source container framework. Also affects apko
- CVE-2026-33186 gRPC-Go is the Go language implementation of gRPC. Also affects apko
- CVE-2026-27141 Due to missing nil check, sending 0x0a-0x0f HTTP/2 frames will cause a running server to… Also affects apko
- CVE-2026-1229 The CombinedMult function in the CIRCL ecc/p384 package (secp384r1 curve) produces an… Also affects apko
- CVE-2026-26958 filippo.io/edwards25519 is a Go library implementing the edwards25519 elliptic curve with… Also affects apko