Skip to main content

Docker (moby) CVE-2026-41567

| EUVDEUVD-2026-34779 HIGH
Uncontrolled Search Path Element (CWE-427)
2026-05-18 https://github.com/moby/moby GHSA-x86f-5xw2-fm2r
7.2
CVSS 3.1 · Vendor: https://github.com/moby/moby
Share

Severity by source

Vendor (https://github.com/moby/moby) PRIMARY
7.2 HIGH
AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
SUSE
HIGH
qualitative
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (https://github.com/moby/moby).

CVSS VectorVendor: https://github.com/moby/moby

CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Source Code Evidence Fetched
May 18, 2026 - 18:32 vuln.today
Analysis Generated
May 18, 2026 - 18:32 vuln.today

DescriptionCVE.org

Summary

When a user uploads a compressed archive into a container, a malicious image can execute arbitrary code with daemon (host root) privileges.

Details

When handling PUT /containers/{id}/archive requests with compressed archives, the daemon decompresses them using external system binaries. Due to incorrect ordering of operations, these binaries are resolved from the container's filesystem rather than the host's. A container image that includes a trojanized decompression binary can achieve code execution as the daemon process whenever a compressed archive is uploaded to that container.

The executed binary runs with the daemon's full privileges, including host root UID and unrestricted capabilities.

Impact

Arbitrary code execution as host root, crossing the container-to-host trust boundary.

Conditions for exploitation

  • A user must run a container from a malicious image that contains a trojanized decompression binary.
  • The user must then upload a compressed archive (xz or gzip) into that container, either by piping a compressed archive via docker cp - or by calling the PUT /containers/{id}/archive API directly with compressed content.

Not affected

Standard docker cp usage is not affected, because the CLI sends uncompressed tar by default:

docker cp ./file.txt mycontainer:/file.txt

This can only be exploited when explicitly passing a xz or gzip-compressed archive to docker cp or the PUT /containers/{id}/archive API, for example:

cat archive.tar.xz | docker cp - mycontainer:/dir

Decompression formats using pure Go implementations (bzip2, zstd, and gzip when the container image does not contain an unpigz binary) are also not affected.

Workarounds

  • Only run containers from trusted images.
  • Use authorization plugins to limit access to the PUT /containers/{id}/archive endpoint.
  • Avoid piping compressed archives into containers created from untrusted images.

AnalysisAI

Container-to-host privilege escalation in Docker/moby daemon allows a malicious container image to execute arbitrary code as host root when a user uploads a compressed (xz or gzip) archive into the container via PUT /containers/{id}/archive or docker cp -. The daemon resolves the decompression binary (e.g., unpigz, xz) from the container's filesystem rather than the host's, so a trojanized binary baked into the image runs with daemon privileges. No public exploit identified at time of analysis, and the issue is not in the CISA KEV catalog.

Technical ContextAI

The flaw lives in the moby/docker daemon's archive-upload path, affecting github.com/moby/moby, github.com/docker/docker, and github.com/moby/moby/v2 Go packages. When a compressed tar stream is uploaded, the daemon shells out to external decompression utilities (notably unpigz for parallel gzip, and xz); due to an ordering bug, the binary lookup is performed against the container's mount namespace/PATH before the daemon has dropped into a safe execution context, matching CWE-427 (Uncontrolled Search Path Element). Pure-Go decompressors used for bzip2, zstd, and gzip without unpigz are unaffected because no external binary is invoked. The resulting child process inherits the dockerd process context - host root UID and the full capability set - enabling a complete escape of the container trust boundary.

RemediationAI

Vendor-released patch: upgrade github.com/moby/moby/v2 to 2.0.0-beta.14 or later; for the legacy github.com/moby/moby and github.com/docker/docker modules at versions <= 28.5.2 no fixed release version is listed in the advisory data, so monitor GHSA-x86f-5xw2-fm2r (https://github.com/moby/moby/security/advisories/GHSA-x86f-5xw2-fm2r) for the backported Engine release and apply it once published. Until patched, restrict the attack surface by running containers only from trusted/signed images, deploying a Docker authorization plugin (e.g., OPA/authz) to deny or audit PUT /containers/{id}/archive calls, and adjusting CI/CD and ops procedures to avoid piping xz/gzip-compressed archives into containers from untrusted sources (use plain docker cp ./file dest:/path which sends uncompressed tar). Each workaround has trade-offs: image-trust enforcement requires registry signing infrastructure, authz plugins can break tooling that legitimately uses the archive endpoint, and forbidding compressed copies reduces transfer efficiency for large files.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

CVE-2025-34221 CRITICAL POC
10.0 Sep 29

Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2

CVE-2024-23054 CRITICAL POC
9.8 Feb 05

An issue in Plone Docker Official Image 5.2.13 (5221) open-source software that could allow for remote code execution du

CVE-2025-23211 CRITICAL POC
9.9 Jan 28

Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve

CVE-2026-46339 CRITICAL POC
10.0 May 19

Unauthenticated remote code execution in 9router (npm package) versions 0.4.30 through 0.4.36 allows network-adjacent at

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 12 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise Micro 5.3 Fixed
SUSE Linux Enterprise Micro 5.4 Fixed

Share

CVE-2026-41567 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy