{"id":"CVE-2025-15558","aliases":["BIT-docker-cli-2025-15558","GHSA-p436-gjf2-799p","GO-2026-4610"],"url":"https://o3.security/vulnerability/CVE-2025-15558","summary":"Docker Desktop Docker Plugins Uncontrolled Search Path Element Local Privilege Escalation Vulnerability","details":"This issue affects Docker CLI through 29.1.5\n\n### Impact\n\nDocker 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.\n\nThis issue affects Docker CLI through v29.1.5 (fixed in v29.2.0). It impacts Windows binaries acting as a CLI plugin manager via the [`github.com/docker/cli/cli-plugins/manager`](https://pkg.go.dev/github.com/docker/cli@v29.1.5+incompatible/cli-plugins/manager) package, which is consumed by downstream projects such as Docker Compose.\n\nDocker Compose became affected starting in v2.31.0, when it incorporated the relevant CLI plugin manager code (see https://github.com/docker/compose/pull/12300), and is fixed in v5.1.0.\n\nThis issue does not impact non-Windows binaries or projects that do not use the plugin manager code.\n\n### Patches\n\nFixed version starts with 29.2.0\n\nThis issue was fixed in https://github.com/docker/cli/commit/13759330b1f7e7cb0d67047ea42c5482548ba7fa (https://github.com/docker/cli/pull/6713), which removed `%PROGRAMDATA%\\Docker\\cli-plugins` from the list of paths used for plugin-discovery on Windows.\n\n### Workarounds\n\nNone\n\n### Resources\n\n- Pull request: \"cli-plugins/manager: remove legacy system-wide cli-plugin path\" (https://github.com/docker/cli/pull/6713)\n- Patch: https://github.com/docker/cli/commit/13759330b1f7e7cb0d67047ea42c5482548ba7fa.patch\n\n### Credits\n\nNitesh Surana (niteshsurana.com) of Trend Research of TrendAI","published":"2026-03-04T16:14:32.045Z","modified":"2026-10-28T02:31:12.025163655Z","cvss":null,"epss":{"score":0.00472,"percentile":0.38669,"asOf":"2026-08-24"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Go","name":"github.com/docker/cli","fixedVersion":"29.2.0"}],"fix":{"url":"https://github.com/docker/cli/pull/6713","label":"docker/cli#6713"},"references":[{"type":"WEB","url":"https://docs.docker.com/desktop/release-notes/"},{"type":"WEB","url":"https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-15558.json"},{"type":"ADVISORY","url":"https://access.redhat.com/security/cve/CVE-2025-15558"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/15xxx/CVE-2025-15558.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-15558"},{"type":"ADVISORY","url":"https://www.zerodayinitiative.com/advisories/ZDI-CAN-28304/"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2444574"},{"type":"FIX","url":"https://github.com/docker/cli/pull/6713"},{"type":"WEB","url":"https://github.com/docker/cli/security/advisories/GHSA-p436-gjf2-799p"},{"type":"WEB","url":"https://github.com/docker/compose/pull/12300"},{"type":"WEB","url":"https://github.com/docker/cli/commit/13759330b1f7e7cb0d67047ea42c5482548ba7fa"},{"type":"WEB","url":"https://docs.docker.com/desktop/release-notes"},{"type":"PACKAGE","url":"https://github.com/docker/cli"},{"type":"WEB","url":"https://www.zerodayinitiative.com/advisories/ZDI-CAN-28304"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-28T02:31:12.025163655Z"}}