Get DeafLetter
A weekly selection of signals, vulnerabilities and guides. Critical alerts remain optional.
You can unsubscribe at any time. Privacy policy.
On March 25, 2026, Docker released Engine 29.3.1, closing a vulnerability that left users of authorization plugins exposed for over ten years. CVE-2026-34040, discovered by Cyera Research Labs, allows complete bypass of security controls with a single HTTP request whose body exceeds roughly one megabyte. The National Vulnerability Database rates the flaw CVSS 3.1 8.8, classifying it as HIGH with vector AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H.
- The vulnerability affects only Docker Engine installations that use authorization plugins that inspect API request bodies, such as OPA, Prisma Cloud, or custom solutions.
- The attack requires a single HTTP request with a body larger than ~1 MB: Docker's AuthZ middleware silently drops the payload before forwarding it to the plugin, which approves an empty request while the daemon executes the original, full request.
- Affected versions are Docker Engine 1.10 through 29.3.0, with patches in 29.3.1 and Docker Desktop 4.66.1, both released March 25, 2026.
- The flaw is an incomplete fix for CVE-2024-41110, patched in July 2024 for a zero-length body bypass, leaving the boundary condition for the oversized-body variant untouched.
How the Bypass Works: The Daemon and the Plugin Read Two Different Requests
Docker Engine's authorization middleware sits between the API client and the daemon, intercepting requests before execution. When an authorization plugin is configured, the middleware should forward the entire request — headers and body — for policy evaluation. According to technical research published by shattered.io and attributed to Cyera Research Labs, this flow breaks when the request body exceeds ~1 MB: the middleware truncates or drops the payload without notifying the plugin, which receives an empty or partial request.
The plugin, seeing harmless or absent content, returns authorization. The Docker daemon, however, continues processing the original, intact HTTP request with all flags and parameters. This semantic mismatch between what is authorized and what is executed is the core of the vulnerability, classified by NVD as CWE-288: Authentication Bypass Using an Alternate Path or Channel.
"The plugin authorizes the request because it sees nothing to block. The Docker daemon processes the full request and creates a privileged container with root access to the host: your AWS credentials, SSH keys, Kubernetes configs, and everything else on the machine. This works against every AuthZ plugin in the ecosystem." — Vladimir Tokarev, Cyera Research Labs, via The Hacker News
An Incomplete Fix That Left the Vector Alive for Eight More Months
The genesis of CVE-2026-34040 traces back to CVE-2024-41110, a July 2024 vulnerability rated CVSS 9.9 CRITICAL that allowed authorization bypass by sending requests with zero-length bodies. Per the GitHub Security Advisory GHSA-x744-4wpc-v9h2, the 2024 patch addressed that specific condition without tackling the general case of excessively large request bodies. The incomplete fix left a boundary variant active for another eight months, until the 29.3.1 release.
Cyera Research Labs' reconstruction indicates the vulnerable code path existed since Docker Engine 1.10, released in 2016. This yields an exposure window of roughly ten years for the size-based variant, overlapping with the five-year undetected persistence of the CVE-2024-41110 regression from 2019 to 2024. The timeline raises questions about security regression test coverage for AuthZ middleware boundary conditions, a critical component for multi-tenant isolation.
Impact Scope: Who Is Actually at Risk
The vulnerability does not affect all Docker installations. According to the GitHub security advisory, "if you don't use AuthZ plugins, you are not affected." Vulnerable systems are those with authorization plugins that inspect API request bodies to decide access: Open Policy Agent (OPA), Prisma Cloud, Casbin, and custom implementations fall in this category. Containerd and runc, when used outside the Docker Engine API layer, are not directly involved.
However, Docker Swarm nodes and Kubernetes clusters using Docker Engine as the container runtime are potentially exposed if API authorization is enabled. Multi-tenant platforms and CI/CD pipelines with programmatic Docker API access represent the highest-risk contexts: a user with limited container-creation permissions can, with a single crafted request, escalate privileges to host filesystem access.
Cyera Research Labs cites an estimate that 92% of enterprise container deployments use Docker, though this figure does not specify the share of installations that adopt AuthZ plugins with body inspection. The source has not been independently verified in this editorial dossier.
What to Do Now
Infrastructure administrators running Docker Engine with authorization plugins must verify the running version and plan upgrades to 29.3.1 or later, or Docker Desktop 4.66.1. The patch changes middleware behavior from fail-open to fail-closed: requests with bodies larger than 4 MB are now rejected with an explicit error instead of being processed with a silently truncated payload.
For installations that cannot be upgraded immediately, adopting Docker Engine's rootless mode reduces the blast radius. As Vladimir Tokarev of Cyera noted in an interview with The Hacker News, "in rootless mode, even the 'root' inside a privileged container maps to an unprivileged host UID. The blast radius shrinks from 'full host compromise' to 'compromised unprivileged user'."
Multi-tenant platform operators should audit Docker API call logs for container-creation requests with unusually large bodies, though the dossier documents no specific detection signatures. Organizations not using AuthZ plugins with body inspection require no specific remediation for this vulnerability, but remain exposed to other vectors if they do not regularly update the runtime.
No infrastructure overlaps currently link CVE-2026-34040 to documented in-the-wild exploitation campaigns, nor does the flaw appear in the CISA KEV catalog as of the sources examined. The trivial attack vector — a single HTTP request with extra padding — makes the vulnerability particularly attractive to actors with limited Docker API access.
The Systemic Pattern CVE-2026-34040 Exposes
The CVE-2024-41110 / CVE-2026-34040 sequence is not a random concatenation but reveals a recurring pattern in security fix management: point resolution of a symptom without analysis of the boundary conditions of the same defect class. Docker's AuthZ middleware, designed with fail-open logic to guarantee service availability, turned every exception in request-body parsing into an authorization bypass channel.
The shift to fail-closed behavior in 29.3.1 — explicit rejection instead of silent truncation — represents a more robust architectural fix, though it introduces new error-handling requirements for clients that legitimately invoke operations with large payloads. The dossier analysis does not allow quantification of the operational impact of this change on existing workloads.
Sources
- https://shattered.io/docker-authz-bypass-cve-2026-34040/
- https://thehackernews.com/2026/04/docker-cve-2026-34040-lets-attackers.html
- https://www.cyera.com/blog/cyera-research-discovers-docker-authorization-bypass-that-silently-disables-security-policies
- https://nvd.nist.gov/vuln/detail/CVE-2026-34040
- https://github.com/moby/moby/security/advisories/GHSA-x744-4wpc-v9h2
- https://thehackernews.com/
- https://thehackernews.com/p/upcoming-hacker-news-webinars.html
- https://thehackernews.com/search/label/Threat%20Intelligence
- https://thehackernews.com/search/label/Vulnerability
Information verified against cited sources and current as of publication.
Sources
Get DeafLetter
A weekly selection of signals, vulnerabilities and guides. Critical alerts remain optional.
You can unsubscribe at any time. Privacy policy.