Docker CLI
CVE-2025-15558
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain low-privileged local Windows access
-
DeliveryCreate C:\ProgramData\Docker\cli-plugins directory
-
ExploitPlant malicious docker-compose.exe plugin
-
ExecutionWait for privileged user to run Docker
-
PersistPlugin executes in victim context
-
ImpactEscalate 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv5 – 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)
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.
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.
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.
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
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)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
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).
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
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
Lifecycle Timeline
7DescriptionCVE.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.
Zero Day Initiative Advisories
Executive ViewAI
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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
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
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
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
Same weakness CWE-427 – Uncontrolled Search Path Element
View allSame technique Privilege Escalation
View allVendor StatusVendor
SUSE
Severity: Low| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
GHSA-p436-gjf2-799p
NVD
CVE.org
EPSS
Exploit-DB