CVE-2025-66401: Mcp watch Remote Code Execution Vulnerability
CRITICALCVE-2025-66401 is a CRITICAL (CVSS 9.8) remote code execution vulnerability (CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')) affecting Mcp watch libraries in the npm ecosystem. The issue involves mcp watch has a critical command injection in clonerepo allows remote code execution (rce) via malicious url. Remediation is available in the latest vendor maintenance releases.
CVE-2025-66401 at a Glance
Security Impact
CVSS: 9.8
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).
How to Fix CVE-2025-66401
To remediate this vulnerability, upgrade all affected Mcp watch dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install mcp-watch@Latest secure release
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls mcp-watch
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2025-66401, inspect your project dependencies using npm:
npm ls mcp-watch
Analyze the terminal output to locate any version of Mcp watch in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.
Note: The npm ls mcp-watch command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'), where the product constructs all or part of an os command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended os command when it is sent to a downstream component. In Mcp watch, 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-66401 Affected Mcp watch Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
mcp-watch
|
npm |
≤ 0.1.2
|
|
References
Frequently Asked Questions
What is CVE-2025-66401?
Which Mcp watch versions are affected?
What version fixes CVE-2025-66401?
Is mcp-watch affected?
What is the CVSS score of CVE-2025-66401?
What CWE is associated with CVE-2025-66401?
How can I check npm dependencies for CVE-2025-66401?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-27m7-ffhq-jqrm",
"modified" : "2025-12-02T00:38:14Z",
"published" : "2025-12-02T00:38:14Z",
"aliases" : [ "CVE-2025-66401" ],
"summary" : "MCP Watch has a Critical Command Injection in cloneRepo allows Remote Code Execution (RCE) via malicious URL",
"details" : "### Summary\nThe `MCPScanner ` class contains a critical Command Injection vulnerability in the `cloneRepo `method. The application passes the user-supplied githubUrl argument directly to a system shell via execSync without sanitization. This allows an attacker to execute arbitrary commands on the host machine by appending shell metacharacters to the URL.\n\n### Details\nThe vulnerability exists in the src/scanner/MCPScanner.ts file within the cloneRepo method.\n\n[https://github.com/kapilduraphe/mcp-watch/blob/0fca7228bd313ae5aa938d61311377e88ce6e682/src/scanner/McpScanner.ts#L181](https://github.com/kapilduraphe/mcp-watch/blob/0fca7228bd313ae5aa938d61311377e88ce6e682/src/scanner/McpScanner.ts#L181)\n\nThe code uses child_process.execSync to execute a git clone command:\n\nBecause execSync spawns a shell (defaulting to `/bin/sh` on Unix or` cmd.exe` on Windows), any shell metacharacters present in the url argument will be interpreted by the shell. The application does not validate that the url is a valid Git URL, nor does it sanitize input for shell metacharacters.\n\n### PoC\nInstall the package or clone the repository.\n\nRun the scanner using the CLI (or invoke scanRepository programmatically).\n\nProvide a malicious URL containing a command separator (e.g., ;, &, or |) and a system command.\npayload : `npm run scan:github \"https://github.com/kapilduraphe/mcp-watch & calc.exe\"`\n\n<img width=\"1918\" height=\"1046\" alt=\"image\" src=\"https://github.com/user-attachments/assets/021c1dfa-3f87-483c-aecb-6939bcf9c925\" />\n\n\n\n### Impact\nSeverity: **Critical**\n\n**CVSS Score**: 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)\nDescription: This vulnerability allows an attacker to execute arbitrary code on the machine running the scanner.\n\nIf run by a developer locally, it compromises their workstation.\n\nIf deployed as a hosted scanning service, it grants the attacker full control over the server (RCE), leading to potential data exfiltration, service disruption, or further lateral movement within the infrastructure.\n\n**Context Dependent Risk:**\n\nLocal CLI : If you run this tool locally on your own machine, you are \"hacking yourself.\" The risk is limited unless you copy-paste a malicious URL sent by someone else (e.g., \"Hey, check this repo scan: npm run scan \"https://git./..; rm -rf /\").\n\n**Web Service / CI Pipeline (Critical Risk)**: If this scanner is deployed as a web service (e.g., \"Paste your repo URL to scan\"), an attacker can take full control of the server immediately.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "mcp-watch"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"last_affected" : "0.1.2"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/kapilduraphe/mcp-watch/security/advisories/GHSA-27m7-ffhq-jqrm"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-66401"
}, {
"type" : "WEB",
"url" : "https://github.com/kapilduraphe/mcp-watch/commit/e7da78c5b4b960f8b66c254059ad9ebc544a91a6"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/kapilduraphe/mcp-watch"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-78" ],
"severity" : "CRITICAL",
"github_reviewed" : true,
"github_reviewed_at" : "2025-12-02T00:38:14Z",
"nvd_published_at" : "2025-12-01T23:15:53Z"
}
}