Vulnerability Details CVE-2025-15558
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 6.3%
CVSS Severity
CVSS v3 Score 8.0
Products affected by CVE-2025-15558
-
cpe:2.3:a:docker:command_line_interface:18.09.0
-
cpe:2.3:a:docker:command_line_interface:18.09.1
-
cpe:2.3:a:docker:command_line_interface:18.09.2
-
cpe:2.3:a:docker:command_line_interface:18.09.3
-
cpe:2.3:a:docker:command_line_interface:18.09.4
-
cpe:2.3:a:docker:command_line_interface:18.09.5
-
cpe:2.3:a:docker:command_line_interface:18.09.6
-
cpe:2.3:a:docker:command_line_interface:18.09.7
-
cpe:2.3:a:docker:command_line_interface:18.09.8
-
cpe:2.3:a:docker:command_line_interface:18.09.9
-
cpe:2.3:a:docker:command_line_interface:19.03.0
-
cpe:2.3:a:docker:command_line_interface:19.03.1
-
cpe:2.3:a:docker:command_line_interface:19.03.10
-
cpe:2.3:a:docker:command_line_interface:19.03.11
-
cpe:2.3:a:docker:command_line_interface:19.03.12
-
cpe:2.3:a:docker:command_line_interface:19.03.13
-
cpe:2.3:a:docker:command_line_interface:19.03.14
-
cpe:2.3:a:docker:command_line_interface:19.03.15
-
cpe:2.3:a:docker:command_line_interface:19.03.2
-
cpe:2.3:a:docker:command_line_interface:19.03.3
-
cpe:2.3:a:docker:command_line_interface:19.03.4
-
cpe:2.3:a:docker:command_line_interface:19.03.5
-
cpe:2.3:a:docker:command_line_interface:19.03.6
-
cpe:2.3:a:docker:command_line_interface:19.03.7
-
cpe:2.3:a:docker:command_line_interface:19.03.8
-
cpe:2.3:a:docker:command_line_interface:19.03.9
-
cpe:2.3:a:docker:command_line_interface:20.10.0
-
cpe:2.3:a:docker:command_line_interface:20.10.1
-
cpe:2.3:a:docker:command_line_interface:20.10.10
-
cpe:2.3:a:docker:command_line_interface:20.10.11
-
cpe:2.3:a:docker:command_line_interface:20.10.12
-
cpe:2.3:a:docker:command_line_interface:20.10.13
-
cpe:2.3:a:docker:command_line_interface:20.10.14
-
cpe:2.3:a:docker:command_line_interface:20.10.15
-
cpe:2.3:a:docker:command_line_interface:20.10.16
-
cpe:2.3:a:docker:command_line_interface:20.10.17
-
cpe:2.3:a:docker:command_line_interface:20.10.18
-
cpe:2.3:a:docker:command_line_interface:20.10.19
-
cpe:2.3:a:docker:command_line_interface:20.10.2
-
cpe:2.3:a:docker:command_line_interface:20.10.20
-
cpe:2.3:a:docker:command_line_interface:20.10.21
-
cpe:2.3:a:docker:command_line_interface:20.10.22
-
cpe:2.3:a:docker:command_line_interface:20.10.23
-
cpe:2.3:a:docker:command_line_interface:20.10.24
-
cpe:2.3:a:docker:command_line_interface:20.10.25
-
cpe:2.3:a:docker:command_line_interface:20.10.26
-
cpe:2.3:a:docker:command_line_interface:20.10.27
-
cpe:2.3:a:docker:command_line_interface:20.10.3
-
cpe:2.3:a:docker:command_line_interface:20.10.4
-
cpe:2.3:a:docker:command_line_interface:20.10.5
-
cpe:2.3:a:docker:command_line_interface:20.10.6
-
cpe:2.3:a:docker:command_line_interface:20.10.7
-
cpe:2.3:a:docker:command_line_interface:20.10.8
-
cpe:2.3:a:docker:command_line_interface:20.10.9
-
cpe:2.3:a:docker:command_line_interface:22.06.0
-
cpe:2.3:a:docker:command_line_interface:23.0.0
-
cpe:2.3:a:docker:command_line_interface:23.0.1
-
cpe:2.3:a:docker:command_line_interface:23.0.10
-
cpe:2.3:a:docker:command_line_interface:23.0.15
-
cpe:2.3:a:docker:command_line_interface:23.0.2
-
cpe:2.3:a:docker:command_line_interface:23.0.3
-
cpe:2.3:a:docker:command_line_interface:23.0.4
-
cpe:2.3:a:docker:command_line_interface:23.0.5
-
cpe:2.3:a:docker:command_line_interface:23.0.6
-
cpe:2.3:a:docker:command_line_interface:23.0.7
-
cpe:2.3:a:docker:command_line_interface:23.0.8
-
cpe:2.3:a:docker:command_line_interface:23.0.9
-
cpe:2.3:a:docker:command_line_interface:24.0.0
-
cpe:2.3:a:docker:command_line_interface:24.0.1
-
cpe:2.3:a:docker:command_line_interface:24.0.2
-
cpe:2.3:a:docker:command_line_interface:24.0.3
-
cpe:2.3:a:docker:command_line_interface:24.0.4
-
cpe:2.3:a:docker:command_line_interface:24.0.5
-
cpe:2.3:a:docker:command_line_interface:24.0.6
-
cpe:2.3:a:docker:command_line_interface:24.0.7
-
cpe:2.3:a:docker:command_line_interface:24.0.8
-
cpe:2.3:a:docker:command_line_interface:24.0.9
-
cpe:2.3:a:docker:command_line_interface:25.0.0
-
cpe:2.3:a:docker:command_line_interface:25.0.1
-
cpe:2.3:a:docker:command_line_interface:25.0.2
-
cpe:2.3:a:docker:command_line_interface:25.0.3
-
cpe:2.3:a:docker:command_line_interface:25.0.4
-
cpe:2.3:a:docker:command_line_interface:25.0.5
-
cpe:2.3:a:docker:command_line_interface:25.0.6
-
cpe:2.3:a:docker:command_line_interface:25.0.7
-
cpe:2.3:a:docker:command_line_interface:26.0.0
-
cpe:2.3:a:docker:command_line_interface:26.0.1
-
cpe:2.3:a:docker:command_line_interface:26.0.2
-
cpe:2.3:a:docker:command_line_interface:26.1.0
-
cpe:2.3:a:docker:command_line_interface:26.1.1
-
cpe:2.3:a:docker:command_line_interface:26.1.2
-
cpe:2.3:a:docker:command_line_interface:26.1.3
-
cpe:2.3:a:docker:command_line_interface:26.1.4
-
cpe:2.3:a:docker:command_line_interface:26.1.5
-
cpe:2.3:a:docker:command_line_interface:27.0.0
-
cpe:2.3:a:docker:command_line_interface:27.0.1
-
cpe:2.3:a:docker:command_line_interface:27.0.2
-
cpe:2.3:a:docker:command_line_interface:27.0.3
-
cpe:2.3:a:docker:command_line_interface:27.1.0
-
cpe:2.3:a:docker:command_line_interface:27.1.1
-
cpe:2.3:a:docker:command_line_interface:27.1.2
-
cpe:2.3:a:docker:command_line_interface:27.2.0
-
cpe:2.3:a:docker:command_line_interface:27.2.1
-
cpe:2.3:a:docker:command_line_interface:27.3.0
-
cpe:2.3:a:docker:command_line_interface:27.3.1
-
cpe:2.3:a:docker:command_line_interface:27.4.0
-
cpe:2.3:a:docker:command_line_interface:27.4.1
-
cpe:2.3:a:docker:command_line_interface:27.5.0
-
cpe:2.3:a:docker:command_line_interface:27.5.1
-
cpe:2.3:a:docker:command_line_interface:28.0.0
-
cpe:2.3:a:docker:command_line_interface:28.0.1
-
cpe:2.3:a:docker:command_line_interface:28.0.2
-
cpe:2.3:a:docker:command_line_interface:28.0.3
-
cpe:2.3:a:docker:command_line_interface:28.0.4
-
cpe:2.3:a:docker:command_line_interface:28.1.0
-
cpe:2.3:a:docker:command_line_interface:28.1.1
-
cpe:2.3:a:docker:command_line_interface:28.2.0
-
cpe:2.3:a:docker:command_line_interface:28.2.1
-
cpe:2.3:a:docker:command_line_interface:28.2.2
-
cpe:2.3:a:docker:command_line_interface:28.3.0
-
cpe:2.3:a:docker:command_line_interface:28.3.1
-
cpe:2.3:a:docker:command_line_interface:28.3.2
-
cpe:2.3:a:docker:command_line_interface:28.3.3
-
cpe:2.3:a:docker:command_line_interface:28.4.0
-
cpe:2.3:a:docker:command_line_interface:28.5.0
-
cpe:2.3:a:docker:command_line_interface:28.5.1
-
cpe:2.3:a:docker:command_line_interface:28.5.2
-
cpe:2.3:a:docker:command_line_interface:29.0.0
-
cpe:2.3:a:docker:command_line_interface:29.0.1
-
cpe:2.3:a:docker:command_line_interface:29.0.2
-
cpe:2.3:a:docker:command_line_interface:29.0.3
-
cpe:2.3:a:docker:command_line_interface:29.0.4
-
cpe:2.3:a:docker:command_line_interface:29.1.0
-
cpe:2.3:a:docker:command_line_interface:29.1.1
-
cpe:2.3:a:docker:command_line_interface:29.1.2
-
cpe:2.3:a:docker:command_line_interface:29.1.3
-
cpe:2.3:a:docker:command_line_interface:29.1.4
-
cpe:2.3:a:docker:command_line_interface:29.1.5
-
cpe:2.3:o:microsoft:windows:-