CVE-2026-55887
moderateOCI Label Argument Injection in Docker MCP Gateway Enables Host RCE
Docker MCP Gateway versions 0.21.0 until 0.42.2 YAML-unmarshal the attacker-controlled io.docker.server.metadata OCI image label into a broad server structure when a victim uses direct docker:// references or imports catalog snapshots, in pkg/oci/self_contained.go and pkg/workingset/workingset.go. Runtime-shaping fields such as Volumes, User, and ExtraHosts are then appended to the docker run argument vector without any origin allowlist, so a malicious image author can request host filesystem or Docker socket mounts and UID 0 execution when the victim selects or pulls the image. This container-creation-time boundary bypass yields arbitrary code execution on the host and is not prevented by no-new-privileges because no in-container privilege escalation is involved. Anyone running affected versions who selects or imports images from untrusted authors is at risk. No public proof of concept or known in-the-wild exploitation has been reported.
What to do: Upgrade Docker MCP Gateway to version 0.42.2 or later, which adds origin allowlisting for these fields. Until patched, avoid selecting or pulling images via docker:// references or catalog snapshot imports from untrusted authors. Review host Docker run history for unexpected volume mounts (especially the Docker socket or host paths), ExtraHosts entries, or UID 0 User settings tied to images introduced through the gateway.
| Docker MCP Gateway | >= 0.21.0, < 0.42.2 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
MCP Gateway allows easy and secure running and deployment of MCP servers. From 0.21.0 until 0.42.2, Docker MCP Gateway YAML-unmarshalled the attacker-controlled io.docker.server.metadata OCI image label into the broad catalog.Server structure for direct docker:// references and catalog snapshot imports in pkg/oci/self_contained.go and pkg/workingset/workingset.go. Runtime-shaping fields including Volumes, User, and ExtraHosts were then appended to the docker run argument vector without an origin allowlist, allowing a malicious image author to request host filesystem or Docker socket mounts and UID 0 execution when a victim selected or pulled the image. This container-creation-time boundary bypass can execute arbitrary code on the host and is not prevented by no-new-privileges because no in-container privilege escalation is required. This issue is fixed in version 0.42.2.
- Weakness
- CWE-88
- Vector
- CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.