CVE-2025-15558 Overview
CVE-2025-15558 is a privilege escalation vulnerability affecting Docker CLI for Windows that stems from an insecure plugin binary search path. The Docker CLI searches for plugin binaries in C:\ProgramData\Docker\cli-plugins, a directory that does not exist by default on Windows systems. This design flaw allows a low-privileged attacker to create this directory and place malicious CLI plugin binaries (such as docker-compose.exe or docker-buildx.exe) that execute when a victim user opens Docker Desktop or invokes Docker CLI plugin features.
Critical Impact
Low-privileged attackers can achieve privilege escalation by planting malicious plugin binaries that execute when higher-privileged users interact with Docker CLI.
Affected Products
- Docker CLI through version 29.1.5 (Windows)
- Windows binaries using the github.com/docker/cli/cli-plugins/manager package
- Docker Compose and other CLI plugin managers on Windows
Discovery Timeline
- 2026-03-04 - CVE CVE-2025-15558 published to NVD
- 2026-03-04 - Last updated in NVD database
Technical Details for CVE-2025-15558
Vulnerability Analysis
This vulnerability is classified as CWE-427 (Uncontrolled Search Path Element), a class of vulnerabilities where an application searches for executable files in directories that may be writable by untrusted users. In this case, the Docker CLI for Windows implements a plugin discovery mechanism that searches for binaries in C:\ProgramData\Docker\cli-plugins. Because this directory does not exist by default and the C:\ProgramData directory typically allows unprivileged users to create subdirectories, an attacker with local access can create the expected path structure and populate it with malicious executables.
When a privileged user (such as an administrator) subsequently launches Docker Desktop or executes Docker CLI commands that invoke plugins, the malicious binaries are executed with the privileges of that user, resulting in privilege escalation. This is particularly dangerous in enterprise environments where administrators routinely use Docker CLI tools.
Root Cause
The root cause is the Docker CLI's reliance on a predictable, user-writable directory path for plugin discovery. The cli-plugins/manager package in the Docker CLI source code does not validate the ownership or permissions of the plugin directory before executing discovered binaries. Combined with Windows default permissions on C:\ProgramData, this creates a privilege escalation vector.
Attack Vector
The attack requires local access to the target Windows system. An attacker with low privileges performs the following steps:
- Creates the directory C:\ProgramData\Docker\cli-plugins (which does not exist by default)
- Places a malicious executable with a name matching expected Docker plugins (e.g., docker-compose.exe, docker-buildx.exe)
- Waits for a higher-privileged user to invoke Docker CLI functionality
When the victim user launches Docker Desktop or runs a Docker CLI command that triggers plugin discovery, the malicious binary executes with the victim's privileges. If the victim is an administrator, the attacker achieves privilege escalation.
Detection Methods for CVE-2025-15558
Indicators of Compromise
- Presence of the C:\ProgramData\Docker\cli-plugins directory on systems where it was not intentionally created
- Executable files in the cli-plugins directory that are not signed by Docker, Inc.
- Unexpected process execution originating from C:\ProgramData\Docker\cli-plugins
- File creation or modification events in C:\ProgramData\Docker\ by non-administrative users
Detection Strategies
- Monitor file system activity for directory creation under C:\ProgramData\Docker\ by low-privileged users
- Implement code signing verification for all executables launched by Docker CLI
- Use endpoint detection and response (EDR) solutions to detect unsigned or suspiciously signed binaries executing from plugin directories
- Configure Windows auditing to log object access events for the C:\ProgramData\Docker\ path
Monitoring Recommendations
- Enable SentinelOne Deep Visibility to track process execution chains originating from Docker CLI
- Create custom detection rules for binary execution from C:\ProgramData\Docker\cli-plugins
- Monitor for process hollowing or injection techniques following plugin binary execution
- Review Docker-related process trees for unexpected child processes
How to Mitigate CVE-2025-15558
Immediate Actions Required
- Verify and remove any unauthorized C:\ProgramData\Docker\cli-plugins directories from Windows systems
- Update Docker CLI and Docker Desktop to the latest patched versions
- Restrict permissions on C:\ProgramData\Docker\ to prevent directory creation by unprivileged users
- Audit existing plugin directories for unsigned or suspicious executables
Patch Information
Docker has addressed this vulnerability in releases following version 29.1.5. Users should update to the latest version of Docker CLI and Docker Desktop. Refer to the Docker Desktop Release Notes for the latest patched versions. The fix can be tracked in the GitHub Docker CLI Pull Request. Additional details are available in the Zero Day Initiative Advisory ZDI-CAN-28304.
Workarounds
- Pre-create the C:\ProgramData\Docker\cli-plugins directory with restrictive ACLs that prevent write access by non-administrators
- Use application whitelisting solutions to block execution of unsigned binaries from the plugin directory
- Implement Group Policy to restrict directory creation under C:\ProgramData\Docker\
- Consider running Docker CLI operations in isolated user contexts to limit the impact of potential exploitation
# PowerShell: Create directory with restricted permissions
New-Item -Path "C:\ProgramData\Docker\cli-plugins" -ItemType Directory -Force
$acl = Get-Acl "C:\ProgramData\Docker\cli-plugins"
$acl.SetAccessRuleProtection($true, $false)
$adminRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators","FullControl","ContainerInherit,ObjectInherit","None","Allow")
$acl.AddAccessRule($adminRule)
Set-Acl "C:\ProgramData\Docker\cli-plugins" $acl
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


