Vulnerabilities in pkg:golang/github.com/docker/cli
PACKAGECVE-2025-15558 is a HIGH uncontrolled search path element leads vulnerability (CWE-427: Uncontrolled Search Path Element) affecting Docker CLI Plugins libraries in the Go ecosystem. The issue involves uncontrolled search path element leads to local privilege escalation on windows. Remediation is available by upgrading affected packages to version 29.2.0.
pkg:golang/github.com/docker/cli
Vulnerability advisories affecting package pkg:golang/github.com/docker/cli. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-p436-gjf2-799p | CVE-2025-15558 | HIGH | Docker CLI Plugins: Uncontrolled Search Path Element Leads to Local Privilege Escalation on Windows |
| GHSA-99pg-grm5-qq3v | CVE-2021-41092 | MODERATE | Docker CLI leaks private registry credentials to registry-1.docker.io |
CVE-2025-15558 at a Glance
How to Fix CVE-2025-15558
To remediate this vulnerability, upgrade all affected Docker CLI Plugins dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/docker/cli to 29.2.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/docker/cli
How to Check if You Are Affected
To determine whether your application is affected by CVE-2025-15558, inspect your project dependencies for Docker CLI Plugins:
inspect dependencies for github.com/docker/cli
Analyze the terminal output to locate any version of Docker CLI Plugins in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 29.2.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-427: Uncontrolled Search Path Element, where the product uses a fixed or controlled search path to find resources, but one or more locations in that path can be under the control of unintended actors. In Docker CLI Plugins, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2025-15558 Affected Docker CLI Plugins Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/docker/cli
|
Go |
≥ 19.03.0
< 29.2.0
|
29.2.0
|
References
Frequently Asked Questions
What is CVE-2025-15558?
Which Docker CLI Plugins versions are affected?
What version fixes CVE-2025-15558?
Is github.com/docker/cli affected?
What CWE is associated with CVE-2025-15558?
How can I check Go dependencies for CVE-2025-15558?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-p436-gjf2-799p",
"modified" : "2026-03-31T14:21:14Z",
"published" : "2026-03-05T00:10:40Z",
"aliases" : [ "CVE-2025-15558" ],
"summary" : "Docker CLI Plugins: Uncontrolled Search Path Element Leads to Local Privilege Escalation on Windows",
"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",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "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"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/docker/cli"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "19.03.0"
}, {
"fixed" : "29.2.0"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/docker/cli/security/advisories/GHSA-p436-gjf2-799p"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-15558"
}, {
"type" : "WEB",
"url" : "https://github.com/docker/cli/pull/6713"
}, {
"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"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-427" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-05T00:10:40Z",
"nvd_published_at" : "2026-03-04T17:16:14Z"
}
}