# CVE-2025-15558: Docker CLI for Windows privilege escalation via uncontrolled search path

Source: https://junglewise.ai/threats/cve-2025-15558-docker-cli-for-windows-privilege-escalation-via-uncontrolled  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-03-04. Updated: 2026-06-30  
License: CC BY 4.0 with a link back

CVE-2025-15558 · Severity: high · CVSS 8 · Published 2026-03-04

A vulnerability in Docker for Windows allows a low-privileged user to gain higher-level system permissions. The software incorrectly looks for plugin files in a directory that any user can create; by placing a malicious file there, an attacker can trick the system into running their code when a legitimate user or administrator starts Docker. This could lead to a full system takeover or unauthorized access to sensitive data.

Technologies: [Docker Desktop](https://junglewise.ai/threats/technologies/docker-desktop), [Microsoft Windows](https://junglewise.ai/threats/technologies/windows). Vendors: [Docker](https://junglewise.ai/threats/vendors/docker), [Go](https://junglewise.ai/threats/vendors/go), [Microsoft](https://junglewise.ai/threats/vendors/microsoft).

## Quick answers

**Is CVE-2025-15558 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2025-15558 being exploited in the wild.

**How severe is CVE-2025-15558?** High severity, with a CVSS score of 8, published 4 March 2026.

**Which products and versions are affected?** Docker CLI through 29.1.5; Docker Compose All versions using affected cli-plugins/manager package; Docker Desktop through 4.38.0; github.com/docker/cli (Go) ECOSYSTEM:introduced=19.03.0,fixed=29.2.0, SEMVER:introduced=0,fixed=29.2.0+incompatible; and 3 more.

**Is there a fix for CVE-2025-15558?** Yes. github.com/docker/cli (Go): upgrade to 29.2.0, 29.2.0+incompatible or later; github.com/docker/compose/v5 (Go): upgrade to 5.1.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2025-15558 attacked?** It is attacked with local access, in a network appliance.

**Am I affected by CVE-2025-15558?** Check whether you run Docker Command Line Interface, Docker CLI, Docker Compose or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/docker/cli (Go): upgrade to 29.2.0, 29.2.0+incompatible or later

  ```sh
  go get github.com/docker/cli@v29.2.0+incompatible
  ```

- github.com/docker/compose/v5 (Go): upgrade to 5.1.0 or later

  ```sh
  go get github.com/docker/compose/v5@v5.1.0
  ```


## Technical details

An uncontrolled search path vulnerability (CWE-427) exists in the Docker CLI for Windows and the 'cli-plugins/manager' Go package. The application attempts to load plugin binaries (such as docker-compose.exe) from 'C:\ProgramData\Docker\cli-plugins', a directory that does not exist by default and can be created by low-privileged users. If an attacker creates this directory and populates it with malicious executables, those binaries will be executed when a victim user invokes Docker CLI features or opens Docker Desktop. If the Docker CLI is run with elevated privileges, this results in local privilege escalation (LPE). The issue is fixed in Docker CLI version 29.2.0 and Docker Desktop 4.39.0.

## Affected products

- Docker Docker CLI through 29.1.5
- Docker Docker Desktop through 4.38.0
- Docker Docker Compose All versions using affected cli-plugins/manager package

## Identifiers

- CVE-2025-15558
- GHSA-p436-gjf2-799p
- GO-2026-4610

## Timeline

- 2025-10-16: disclosed: Vulnerability reported to vendor
- 2025-12-18: patched: Fix merged into Docker CLI master branch
- 2026-03-04: advisory: Initial public disclosure

## References

- [https://docs.docker.com/desktop/release-notes/](https://docs.docker.com/desktop/release-notes/)
- [https://github.com/docker/cli/pull/6713](https://github.com/docker/cli/pull/6713)
- [https://www.zerodayinitiative.com/advisories/ZDI-CAN-28304/](https://www.zerodayinitiative.com/advisories/ZDI-CAN-28304/)
- [https://access.redhat.com/security/cve/CVE-2025-15558](https://access.redhat.com/security/cve/CVE-2025-15558)
- [https://bugzilla.redhat.com/show_bug.cgi?id=2444574](https://bugzilla.redhat.com/show_bug.cgi?id=2444574)
- [https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-15558.json](https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-15558.json)

## Related threats

- [Windows BitLocker heap buffer overflow with physical attack](https://junglewise.ai/threats/cve-2026-97015-heap-based-buffer-overflow-in-windows-bitlocker-allows-an)
- [Microsoft Windows Shell type confusion privilege elevation](https://junglewise.ai/threats/cve-2026-97013-access-of-resource-using-incompatible-type-type-confusion-in)
- [Microsoft Windows VMSwitch out-of-bounds read privilege escalation](https://junglewise.ai/threats/cve-2026-97002-out-of-bounds-read-in-windows-vmswitch-allows-an-authorized)
- [Microsoft Windows USM Communication Manager null pointer dereference](https://junglewise.ai/threats/cve-2026-97000-null-pointer-dereference-in-windows-usm-communication-manager)
- [Microsoft Windows Winsock use after free privilege escalation](https://junglewise.ai/threats/cve-2026-96994-use-after-free-in-winsock-allows-an-authorized-attacker-to)
