Skip to main content

win-cli-mcp-server CVE-2025-11202

CRITICAL
OS Command Injection (CWE-78)
2025-10-29 zdi-disclosures@trendmicro.com
9.8
CVSS 3.0 · Vendor: trendmicro
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed MCP command interface
  2. Exploit
    Supply command string with shell metacharacters
  3. Execution
    Injection breaks out of `where` shell call
  4. Impact
    Execute 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 where "${command}" executed through a shell - shell metacharacters (" & | etc.) escape the intended command and run attacker-controlled code as the service account. Limiting factors: the server is a Model Context Protocol server that is frequently run locally over stdio for a single client, so true remote-unauthenticated reach depends on it being deployed with a network-facing transport or on the attacker controlling the command string the AI client forwards; the flaw bypasses the project's command-whitelist security model because the injection occurs within path resolution. Affected versions are pre-0.2.0; upgrading to 0.2.0 (which removes resolveCommandPath) remediates it.

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 (where "${command}" via execAsync), a textbook injection primitive. However, several real-world risk signals are MISSING from the input and should temper urgency: there is no EPSS score, the vulnerability is NOT in CISA KEV, and no public exploit (POC) is referenced - so this is 'no public exploit identified at time of analysis' rather than confirmed active exploitation. The biggest tension is between the CVSS AV:N/PR:N rating and the product's real deployment model: win-cli-mcp-server is a Model Context Protocol server that is very commonly run locally over stdio for a single AI client, in which case 'remote unauthenticated' network exploitation is far narrower than the 9.8 implies and would typically require the server to be exposed over a network transport (e.g., SSE/HTTP) or require an attacker to influence the command string the client submits. Net: technically a genuine RCE and worth prompt patching for anyone running this server, but its aggregate real-world risk is bounded by a niche footprint and no evidence of exploitation - verify your transport exposure before treating it as an internet-facing 9.8.

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., cmd.exe" & calc.exe & "). When resolveCommandPath builds where "<command>" and runs it through the shell, the injected payload breaks out and executes arbitrary commands in the context of the service account. No public exploit is referenced, but the fix commit publicly reveals the exact vulnerable code path, lowering the bar to weaponize.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 2.8% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (trendmicro) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (trendmicro).

CVSS VectorVendor: trendmicro

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
2.8%
Top 14% exploitable
Prevalence
Low
niche independent open-source MCP server, small real-world footprint
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 2.8%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

52
Low Medium High Critical
KEV: 0
EPSS: +3
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

CVE-2025-52691 CRITICAL POC
10.0 Dec 29

Unauthenticated remote code execution in SmarterTools SmarterMail lets an attacker upload arbitrary files to any locatio

CVE-2019-0803 HIGH POC
7.8 Apr 09

Windows Win32k fails to properly handle objects in memory, allowing local privilege escalation exploited in the wild in

CVE-2020-1472 MEDIUM POC
5.5 Aug 17

A privilege escalation vulnerability (CVSS 5.5). Risk factors: actively exploited (KEV-listed), EPSS 94% exploitation pr

CVE-2025-33053 HIGH POC
8.8 Jun 10

Windows Internet Shortcut Files (.url) contain an external control vulnerability (CVE-2025-33053, CVSS 8.8) that enables

CVE-2025-33073 HIGH POC
8.8 Jun 10

Windows SMB contains an improper access control vulnerability (CVE-2025-33073, CVSS 8.8) enabling authenticated attacker

CVE-2013-10047 CRITICAL POC
9.3 Aug 01

An unrestricted file upload vulnerability exists in MiniWeb HTTP Server <= Build 300 that allows unauthenticated remote

CVE-2012-10030 CRITICAL POC
9.3 Aug 05

FreeFloat FTP Server contains multiple critical design flaws that allow unauthenticated remote attackers to upload arbit

CVE-2025-34101 CRITICAL POC
9.3 Jul 10

Serviio Media Server versions 1.4 through 1.8 on Windows contain an unauthenticated command injection in the /rest/actio

CVE-2025-34095 CRITICAL POC
9.3 Jul 10

Mako Server versions 2.5 and 2.6 contain an unauthenticated OS command injection via the tutorial interface at examples/

CVE-2025-11953 CRITICAL POC
9.8 Nov 03

React Native Metro Development Server binds to external interfaces by default and contains an OS command injection endpo

CVE-2026-96951 HIGH POC
8.8 Oct 13

Command injection in the Windows Shell lets remote, unauthenticated attackers bypass a Windows security feature and then

CVE-2025-24054 MEDIUM POC
6.5 Mar 11

External control of file name or path in Windows NTLM allows an unauthorized attacker to perform spoofing over a network

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy