Skip to main content

Docker CLI CVE-2025-15558

HIGH
Uncontrolled Search Path Element (CWE-427)
2026-03-04 security@docker.com GHSA-p436-gjf2-799p
High
Disputed · 7.0 Vendor: docker
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain low-privileged local Windows access
  2. Delivery
    Create C:\ProgramData\Docker\cli-plugins directory
  3. Exploit
    Plant malicious docker-compose.exe plugin
  4. Execution
    Wait for privileged user to run Docker
  5. Persist
    Plugin executes in victim context
  6. Impact
    Escalate to administrator privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path element control
Exploitation Conditions

Exploitation requires: (1) local access as a low-privileged user on a Windows host (PR:L) able to create the non-default directory C:\ProgramData\Docker\cli-plugins and write executables named after Docker plugins (e.g., docker-compose.exe, docker-buildx.exe); (2) a Windows Docker binary that uses the cli-plugins/manager package (Docker Compose, Buildx, or Docker Desktop) at version ≤ 29.1.5; and (3) user interaction (UI:P) - a higher-privileged victim must subsequently open Docker Desktop or invoke a CLI plugin feature, which triggers execution. Limiting factors: it is Windows-only, requires an existing local foothold, the directory must not already be locked down by an administrator, and meaningful privilege escalation only occurs if the victim runs Docker as a privileged user; if the only Docker user is the attacker themselves, there is no privilege gain.

Impact

Signals are internally consistent and point to a real but bounded local risk. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:P, VC:H/VI:H/VA:H) describes a local, low-privilege, passive-user-interaction attack with high impact - i.e., classic privilege escalation, not remote compromise. EPSS is 0.01% (1st percentile), which is expected for a local PE that requires a privileged victim to invoke Docker and is therefore not mass-exploitable; this low score is not a contradiction of severity. The vulnerability is not in CISA KEV and no public exploit code was identified, so this is not an active-exploitation emergency. The realistic priority is moderate: it matters most on multi-user Windows workstations or where Docker is run by administrators/CI service accounts, and less on single-user developer machines. SSVC framing: exploitation = none observed, automatable = no (needs a privileged user to trigger), technical impact = total. Treat as a patch-on-cycle hardening item rather than emergency remediation.

Exploit ScenarioDerived

On a shared Windows machine, a standard user creates C:\ProgramData\Docker\cli-plugins and drops a malicious docker-compose.exe. When an administrator later opens Docker Desktop or runs a Docker CLI plugin command, the planted binary executes in the administrator's context, granting code execution and privilege escalation. No public exploit code was identified, though ZDI documented the issue under ZDI-CAN-28304.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv5 – Jun 30, 2026

Local privilege escalation in Docker CLI for Windows (through version 29.1.5) lets a low-privileged user plant malicious CLI-plugin binaries that execute when a higher-privileged victim runs Docker. Because C:\ProgramData\Docker\cli-plugins does not exist by default, any local user can create it and drop trojanized binaries such as docker-compose.exe or docker-buildx.exe, which Docker Desktop or the CLI plugin manager will load and execute. EPSS is very low (0.01%) and there is no public exploit identified at time of analysis, but ZDI tracked the issue (ZDI-CAN-28304) and a vendor patch is available.

Earlier versions of this analysis (4)
v4 Jun 30, 2026 - 05:06 cvss changed CVSS 7.0

Local privilege escalation in Docker CLI for Windows (through 29.1.5) lets a low-privileged user plant malicious CLI-plugin binaries that run with a victim's privileges. The plugin manager (github.com/docker/cli/cli-plugins/manager) searches C:\ProgramData\Docker\cli-plugins — a directory absent by default and creatable/writable by unprivileged users — so an attacker can drop docker-compose.exe, docker-buildx.exe, or similar that execute when a higher-privileged victim opens Docker Desktop or invokes plugin features. EPSS is very low (0.01%, 1st percentile), this is not in CISA KEV, and no public exploit is identified at time of analysis; a vendor patch (docker/cli PR #6713) is available.

v3 Jun 30, 2026 - 05:05 cvss changed CVSS 7.0

Local privilege escalation and code execution in Docker CLI for Windows (through 29.1.5) arises because the plugin manager searches C:\ProgramData\Docker\cli-plugins, a directory absent by default. A low-privileged user can pre-create this directory and drop malicious plugin binaries (e.g. docker-compose.exe, docker-buildx.exe) that run when any victim, including a privileged user, launches Docker Desktop or invokes a CLI plugin. No public exploit is identified at time of analysis, EPSS is very low (0.01%), and the issue is not in CISA KEV; a vendor upstream fix exists via GitHub PR #6713.

v2 Jun 30, 2026 - 05:04 cvss changed CVSS 7.0

Local privilege escalation in Docker CLI for Windows (through version 29.1.5) lets a low-privileged attacker hijack CLI-plugin loading because Docker searches C:\ProgramData\Docker\cli-plugins, a directory that does not exist by default and is therefore creatable by unprivileged users. By planting malicious binaries named after legitimate plugins (docker-compose.exe, docker-buildx.exe, etc.), the attacker achieves code execution in the security context of any user who later launches Docker Desktop or invokes a plugin feature, escalating privileges if that user is an administrator. There is no public exploit identified at time of analysis, EPSS risk is negligible (0.01%), and a coordinated ZDI disclosure (ZDI-CAN-28304) preceded the vendor fix.

v1 Mar 12, 2026 - 22:05 CVSS 8.0

Docker CLI for Windows searches for plugin binaries in C:\ProgramData\Docker\cli-plugins, a directory that does not exist by default. [CVSS 8.0 HIGH]

RemediationAI

Patch available per vendor advisory; the upstream fix is in https://github.com/docker/cli/pull/6713, so upgrade Docker CLI / Docker Desktop on Windows to the first release that includes that fix above 29.1.5 (consult https://docs.docker.com/desktop/release-notes/ for the exact tagged version, which is not independently confirmed in this data - do not assume a version number). As a compensating control until patched, pre-create C:\ProgramData\Docker\cli-plugins as an administrator and set its ACL to deny write/create for non-administrative users (Authenticated Users / Users), which removes the attacker's ability to plant binaries; the trade-off is that any legitimately installed extra plugins must then be deployed by an administrator. Additionally, avoid running the Docker CLI as a privileged user when not required, since the high impact depends on a privileged victim invoking the planted plugin. Verify no rogue docker-*.exe files already exist in that path before locking it down.

Affected Packages

go github.com/docker/cli fix: 29.2.0+incompatible, 29.2.0
go github.com/docker/compose no fix
go github.com/docker/compose/v2 no fix
go github.com/docker/compose/v5 fix: 5.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in go

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-427 (Uncontrolled Search Path Element / binary planting). The github.com/docker/cli/cli-plugins/manager package on Windows resolves CLI plugins by searching C:\ProgramData\Docker\cli-plugins for executables named docker-<plugin>.exe. ProgramData subdirectories that are created by an installer typically inherit restrictive ACLs, but when a directory does not exist by default, a standard user can create it and thereby control its initial ACLs and contents. Any Windows binary that embeds this plugin-manager code (Docker Compose, Buildx, and Docker Desktop itself) inherits the flaw. The affected component per CPE is cpe:2.3:a:docker:command_line_interface, and the issue is Windows-specific; non-Windows binaries and projects that do not use the plugin-manager code are unaffected.

Know when Docker gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Sources disagree (Low–High)
Vendor (docker) PRIMARY 7.0 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/AU:N/R:U
vuln.today AI 7.3 HIGH

Local low-privileged attacker plants a binary (AV:L/PR:L); a privileged victim must invoke Docker to trigger it (UI:R), yielding full code execution in the victim context (C/I/A:H).

3.1 AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 3.1 LOW
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Red Hat 7.3 HIGH

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: docker

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

7
Analysis Updated
Jun 30, 2026 - 05:07 vuln.today
v5 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:06 vuln.today
v4 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:05 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 30, 2026 - 05:04 vuln.today
v2 - CVSS changed
CVSS changed
Jun 30, 2026 - 03:24 NVD
8.0 (HIGH) 7.0 (HIGH)
Patch released
Mar 09, 2026 - 17:38 nvd
Patch available
CVE Published
Mar 04, 2026 - 17:16 nvd
HIGH 8.0

DescriptionCVE.org

Docker CLI for Windows searches for plugin binaries in C:\ProgramData\Docker\cli-plugins, a directory that does not exist by default. A low-privileged attacker can create this directory and place malicious CLI plugin binaries (docker-compose.exe, docker-buildx.exe, etc.) that are executed when a victim user opens Docker Desktop or invokes Docker CLI plugin features, and allow privilege-escalation if the docker CLI is executed as a privileged user.

This issue affects Docker CLI: through 29.1.5 and Windows binaries acting as a CLI-plugin manager using the github.com/docker/cli/cli-plugins/manager https://pkg.go.dev/github.com/docker/cli@v29.1.5+incompatible/cli-plugins/manager  package, such as Docker Compose.

This issue does not impact non-Windows binaries, and projects not using the plugin-manager code.

Executive ViewAI

Why It Matters

Docker CLI for Windows (through version 29.1.5) contains a privilege escalation vulnerability allowing local users to execute code with elevated privileges, threatening development infrastructure and container systems. This could enable compromised developer accounts or insider threats to gain unauthorized control of Docker-managed resources. No public exploit identified at time of analysis, but the vulnerability requires immediate patching given its potential impact on development infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 99% exploitable
Prevalence
High
Docker is widely deployed by developers, but this flaw is Windows-only
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS GHSA Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

35
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +35
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Affected Products (CPE)CVE.org

cpe:2.3:a:docker:command_line_interface:*:*:*:*:*:*:*:*

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-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

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-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2025-14707 HIGH POC
8.9 Dec 15

Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

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

Vendor StatusVendor

SUSE

Severity: Low
Product Status
openSUSE Tumbleweed Fixed

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