Apr 09, 2026 · 6 min read
One Oversized HTTP Request Gives Attackers Root on Any Docker Host
CVE-2026-34040 lets anyone with Docker API access pad a request past 1 MB, silently bypass every authorization plugin, and spin up a privileged container with full host access.
The Vulnerability
CVE-2026-34040 carries a CVSS score of 8.8 and affects Docker Engine's authorization plugin system. The flaw is an incomplete fix for CVE-2024-41110, a maximum severity vulnerability in the same component that was patched in July 2024.
The attack is straightforward: send a container creation request with a body larger than 1 MB to the Docker API. The Docker daemon strips the oversized body before passing it to the authorization plugin, which sees an empty request and approves it. The daemon then processes the full original request, creating a privileged container with root access to the host.
Why This Is Worse Than It Sounds
Authorization plugins exist specifically to enforce security policies in multi tenant Docker environments. Organizations use them to prevent users from creating privileged containers, mounting sensitive host directories, or escalating beyond their designated permissions. CVE-2026-34040 makes all of those controls meaningless.
There is no exploit code required. No special tooling. No privilege escalation chain. Anyone who can read the Docker API documentation can construct the request. Once a privileged container is running, the attacker has access to everything on the host: AWS credentials, SSH keys, Kubernetes configs, and any other secrets stored on the machine.
Who Is Affected
Any organization running Docker Engine with authorization plugins enabled is potentially vulnerable. This includes:
- CI/CD pipelines where developers have API access to shared Docker daemons
- Multi tenant container platforms that rely on AuthZ plugins for isolation
- Cloud environments where Docker runs alongside other services on shared hosts
- Development teams using Docker Desktop with enterprise security plugins
Docker has released a fix in version 29.3.1. Organizations should patch immediately.
The Incomplete Fix Problem
CVE-2026-34040 is a regression of a vulnerability that was supposedly fixed two years ago. The original flaw, CVE-2024-41110, had a CVSS score of 10.0, the maximum possible rating. That Docker's patch left a gap wide enough for the same class of attack to work again raises questions about how the fix was validated.
This pattern is not unique to Docker. The Chrome zero day patched in early April was also a regression, the fourth actively exploited Chrome vulnerability of 2026. When security fixes are incomplete, organizations that diligently applied the original patch are left with a false sense of protection.
How to Protect Yourself
The immediate priority is patching to Docker Engine 29.3.1. If patching is not possible right away, these mitigations reduce the risk:
- Run Docker in rootless mode. This limits the damage even if the authorization bypass succeeds, because the container process does not run as the host's root user.
- Restrict Docker API access. Ensure that only trusted users and services can reach the Docker socket. Do not expose the Docker API over TCP without TLS and client certificate authentication.
- Avoid AuthZ plugins that inspect request bodies. Until patched, any authorization logic that depends on reading the body of the request is bypassable.
- Audit existing containers. Check for any recently created privileged containers that should not exist.
The Broader Supply Chain Risk
Docker sits at the foundation of modern software delivery. It runs CI/CD pipelines, development environments, and production workloads. A vulnerability at this layer does not just affect one application; it can compromise every service running on the same host and every secret accessible from that machine.
This is the same dynamic that made the Next.js credential harvesting campaign so damaging: attackers target infrastructure tools because a single foothold grants access to an entire organization's secrets. If Docker controls your deployment pipeline, an authorization bypass is not just a container security issue. It is an everything security issue.