win-cli-mcp-server CVE-2025-11202
CRITICALAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed MCP command interface
-
ExploitSupply command string with shell metacharacters
-
ExecutionInjection breaks out of `where` shell call
-
ImpactExecute arbitrary code as service account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an attacker to be able to supply a command name/string to the server's command-execution path so it reaches resolveCommandPath, which passed the value unsanitized into |
| Impact | The CVSS 3.0 base score of 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) reflects a classic unauthenticated remote OS command injection (CWE-78) with full confidentiality, integrity, and availability impact, which on its face is a top-priority finding. The source-commit evidence strongly corroborates the technical severity: the removed resolveCommandPath function interpolated an untrusted string directly into a shell command ( |
| Exploit ScenarioDerived | An attacker able to reach the win-cli-mcp-server command-execution interface submits a 'command' value containing Windows shell metacharacters (e.g., |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Unauthenticated remote code execution in win-cli-mcp-server versions prior to 0.2.0, where the resolveCommandPath helper interpolates a caller-supplied command name into a shell string (where "<command>") executed via Node's child_process exec, letting shell metacharacters break out of the quotes and run attacker-controlled commands as the service account. Because the same helper is used to resolve and validate commands, the injection also sidesteps the project's command-whitelist safeguard, and exploitation only requires that an attacker control the command string reaching the MCP server's execution path - conditions that are broadest when the server is exposed via a network-facing transport rather than a local stdio session. CVSS 3.0 scores this 9.8 (AV:N/AC:L/PR:N/UI:N, full C/I/A impact); no public exploit code or CISA KEV entry was identified at time of analysis, and the flaw is fixed in release 0.2.0, which removes resolveCommandPath entirely.
RemediationAI
Vendor-released patch: upgrade win-cli-mcp-server to version 0.2.0, which removes the resolveCommandPath function and its shell-based where "${command}" lookup (commit 521b4a34190d03bde7d433d213c36357181a6d09; advisory ZDI-25-930 at https://www.zerodayinitiative.com/advisories/ZDI-25-930/). If upgrading immediately is not possible, replace shell-based resolution with a non-shell API - execFile/spawn against where.exe with an argument array, or a direct filesystem PATH scan - so metacharacters cannot be interpreted, and add strict allow-list validation (alphanumeric, -, _, . only; reject ", &, |, ^, %, newlines) before any command reaches execution; the trade-off is that legitimate commands containing shell operators will stop working. Additionally, do not expose the MCP server over network transports unless required - keep it on local stdio, or bind to loopback and require authentication in front of it, since the assessed vector assumes an attacker can supply the command string or reach a network-facing deployment. Running the server under a low-privilege service account rather than an administrative context reduces (but does not eliminate) the impact of a successful injection.
Affected ProductsAI
win-cli-mcp-server, the npm-distributed MCP command server (upstream repository simon-ami/win-cli-mcp-server), in all releases before 0.2.0 - the commit diff shows package.json/package-lock.json moving from version 0.1.7 to 0.2.0, so 0.1.7 and earlier are considered affected. The vulnerable code lives in src/utils/validation.ts (the resolveCommandPath export) and is exercised by the command-validation tests in tests/validation.test.ts that were removed in the same commit. No CPE entries were supplied in the source data; the authoritative vendor-side advisory is ZDI-25-930 (ZDI-CAN-27787) at https://www.zerodayinitiative.com/advisories/ZDI-25-930/, and the fixing commit is at https://github.com/simon-ami/win-cli-mcp-server/commit/521b4a34190d03bde7d433d213c36357181a6d09.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
win-cli-mcp-server is a Node/TypeScript Model Context Protocol server that brokers shell command execution for an AI client on Windows. The vulnerable routine, resolveCommandPath in src/utils/validation.ts, used promisify(exec) from child_process to run where "${command}", which spawns cmd.exe and therefore honors shell metacharacters such as &, |, ^, and embedded quotes; a value like foo" & calc & " terminates the quoted argument and chains an arbitrary command. This is CWE-78 (Improper Neutralization of Special Elements used in an OS Command), and the impact is aggravated because resolveCommandPath functions as a trusted pre-execution check - an injected payload passes the whitelist gate rather than being rejected. Note that the MCP server is frequently launched locally over stdio for a single client, so the AV:N/PR:N vector assumes either an attacker-influenced command string forwarded by the AI client or deployment with a network-facing transport; both scenarios are covered by the assessed vector but the practical exposure is deployment-dependent. The upstream fix (commit 521b4a34190d03bde7d433d213c36357181a6d09) deletes resolveCommandPath rather than escaping it, eliminating the shell-mediated lookup.
Know when Windows gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated command injection via unsanitized shell interpolation yields full code execution as the service account; AV:N/PR:N retained per ZDI advisory though local stdio deployments would reduce to AV:L.
Primary rating from Vendor (trendmicro).
CVSS VectorVendor: trendmicro
DescriptionCVE.org
win-cli-mcp-server resolveCommandPath Command Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of win-cli-mcp-server. Authentication is not required to exploit this vulnerability.
The specific flaw exists within the implementation of the resolveCommandPath method. The issue results from the lack of proper validation of a user-supplied string before using it to execute a system call. An attacker can leverage this vulnerability to execute code in the context of the service account. Was ZDI-CAN-27787.
Executive ViewAI
win-cli-mcp-server versions prior to 0.2.0 contain a critical unauthenticated remote code execution vulnerability that allows an attacker to execute arbitrary commands as the service account, with the greatest exposure when the server is reachable through a network-facing transport. At time of analysis, no public exploit identified, but leadership should treat any such deployment as high risk because exploitation requires no credentials and can fully compromise the host and its data.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Unauthenticated remote code execution in SmarterTools SmarterMail lets an attacker upload arbitrary files to any locatio
Windows Win32k fails to properly handle objects in memory, allowing local privilege escalation exploited in the wild in
A privilege escalation vulnerability (CVSS 5.5). Risk factors: actively exploited (KEV-listed), EPSS 94% exploitation pr
Windows Internet Shortcut Files (.url) contain an external control vulnerability (CVE-2025-33053, CVSS 8.8) that enables
Windows SMB contains an improper access control vulnerability (CVE-2025-33073, CVSS 8.8) enabling authenticated attacker
An unrestricted file upload vulnerability exists in MiniWeb HTTP Server <= Build 300 that allows unauthenticated remote
FreeFloat FTP Server contains multiple critical design flaws that allow unauthenticated remote attackers to upload arbit
Serviio Media Server versions 1.4 through 1.8 on Windows contain an unauthenticated command injection in the /rest/actio
Mako Server versions 2.5 and 2.6 contain an unauthenticated OS command injection via the tutorial interface at examples/
React Native Metro Development Server binds to external interfaces by default and contains an OS command injection endpo
Command injection in the Windows Shell lets remote, unauthenticated attackers bypass a Windows security feature and then
External control of file name or path in Windows NTLM allows an unauthorized attacker to perform spoofing over a network
NVD
CVE.org
EPSS
GitHub
Exploit-DB