Docker Engine
CVE-2026-34040
HIGH
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Docker API is typically local (AV:L), low-priv API client suffices (PR:L), crafted request is trivial (AC:L), and AuthZ bypass yields full container/host control (C:H/I:H/A:H).
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
8DescriptionNVD
Summary
A security vulnerability has been detected that allows attackers to bypass authorization plugins (AuthZ) under specific circumstances. The base likelihood of this being exploited is low.
This is an incomplete fix for CVE-2024-41110.
Impact
If you don't use AuthZ plugins, you are not affected.
Using a specially-crafted API request, an attacker could make the Docker daemon forward the request to an authorization plugin without the body. The authorization plugin may allow a request which it would have otherwise denied if the body had been forwarded to it.
Anyone who depends on authorization plugins that introspect the request body to make access control decisions is potentially impacted.
Workarounds
If unable to update immediately:
- Avoid using AuthZ plugins that rely on request body inspection for security decisions.
- Restrict access to the Docker API to trusted parties, following the principle of least privilege.
Credits
- 1seal / Oleh Konko (@1seal)
- Cody (c@wormhole.guru)
- Asim Viladi Oglu Manizada (@manizada)
Resources
AnalysisAI
Authorization bypass in Docker Engine (moby) allows API clients to evade AuthZ plugin policy decisions by issuing requests whose body is not forwarded to the plugin, causing it to approve operations it would otherwise deny. This is an incomplete-fix regression of CVE-2024-41110 affecting deployments that rely on AuthZ plugins inspecting request bodies; publicly available exploit code exists but EPSS is 0.01% and SSVC exploitation status is 'none'.
Technical ContextAI
The flaw lives in moby/moby's pkg/authorization/authz.go, where the daemon decides whether to send the HTTP body alongside the AuthZRequest to the registered AuthZ plugin. The previous implementation gated body forwarding on r.ContentLength > 0 or chunked Transfer-Encoding and skipped the body when it exceeded a 1MB maxBodySize, allowing a crafted request to reach the plugin with no body and have its policy evaluated against headers/URL only. CWE-863 (Incorrect Authorization) applies: the plugin's policy depends on body content (e.g., container create payloads, mount sources, capabilities), so a stripped body defeats the access-control decision. The fix in commit e89edb1 replaces drainBody with a bufio.Reader.Peek that always streams the body to the plugin up to a new 4MiB limit and rejects oversize bodies outright. Affected CPEs are pkg:go/github.com/moby/moby, github.com/docker/docker, and the v2 module.
RemediationAI
Vendor-released patch: upgrade Docker Engine to docker-v29.3.1 or later (https://github.com/moby/moby/releases/tag/docker-v29.3.1); SUSE users can apply SUSE-SU-2026:1205 (https://www.suse.com/support/update/SUSE-SU-2026:1205/). If immediate upgrade is not possible, stop relying on AuthZ plugins that make decisions from request-body introspection and instead enforce policy on URL/method/headers only - accepting that this weakens body-aware controls such as restrictions on mount sources, capabilities or image fields. Tightly restrict access to the Docker API socket and TCP endpoint to trusted operators (the daemon socket is root-equivalent), and consider gating the API behind mTLS plus an external reverse proxy that performs body-aware policy checks before the request reaches dockerd. Review GHSA-v23v-6jw2-98fq and GHSA-x744-4wpc-v9h2 for vendor-specific guidance, and verify your AuthZ plugin vendor (e.g., Twistlock, OPA-based gatekeepers) has not issued additional mitigations.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
Same weakness CWE-863 – Incorrect Authorization
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: HighShare
External POC / Exploit Code
Leaving vuln.today
GHSA-x744-4wpc-v9h2