Skip to main content

FastMCP CVE-2025-62801

MEDIUM
OS Command Injection (CWE-78)
2025-10-28 security-advisories@github.com
5.4
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Craft MCP with malicious server_name
  2. Delivery
    Victim runs fastmcp install cursor on Windows
  3. Exploit
    server_name embedded in cursor:// deeplink
  4. Execution
    open_deeplink shell=True invokes cmd.exe /c start
  5. Persist
    Metacharacters escape start command
  6. Impact
    Arbitrary OS command execution in user context

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

Three concrete prerequisites must all hold: (1) the host is Windows (open_deeplink() uses shell=True only on Windows, invoking cmd.exe /c start); (2) the victim runs the fastmcp install cursor command - the Cursor installer path that calls generate_cursor_deeplink() and embeds server_name into the cursor:// URL; and (3) the attacker can influence the server_name field of an MCP the victim installs (e.g. a shared or published malicious MCP server). Limiting factors: requires victim user interaction (running the install command), is inert on macOS/Linux, and is fixed in FastMCP 2.13.0. No network service is exposed - the trigger is a locally executed developer/CI workflow against attacker-supplied content.

Impact

Signals point to a genuine-but-gated code-execution flaw rather than a mass-exploitation emergency. The CWE-78 command injection yields full code execution (VC:H/VI:H/VA:H), but every exploitation signal shows narrow reach: EPSS is only 0.23% (12th percentile), there is no CISA KEV listing, and exploitation is conditioned on a Windows host, the Cursor install path, and the victim affirmatively running fastmcp install cursor against an attacker-influenced MCP. A public PoC exists in the GHSA advisory (server_name="test&calc"), which lowers the effort bar, but PoC availability is not active exploitation. The vendor's CVSS 4.0 base score of 5.4 reflects the attack requirement (AT:P) and user interaction (UI:A); a CVSS 3.1 framing of the same facts lands closer to ~7.8 because 3.1 lacks a distinct attack-requirement metric and weights full CIA impact more heavily. The signals are internally consistent (local/UI-gated vector, low EPSS, no KEV) - nothing here conflicts. Bottom line: prioritize for Windows developer/CI endpoints that use FastMCP's Cursor installer, but this is not an internet-facing or wormable issue.

Exploit ScenarioDerived

An attacker publishes or shares an MCP server whose name embeds cmd.exe metacharacters (e.g. FastMCP(name="test&calc")). A Windows developer, CI agent, or build machine runs fastmcp install cursor server.py; FastMCP embeds server_name verbatim into a cursor:// deeplink and opens it via open_deeplink() with shell=True, so cmd.exe /c start parses the metacharacters and spawns the attacker's process. A working PoC is published in the GHSA advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 01, 2026

OS command injection in FastMCP versions prior to 2.13.0 allows an attacker who can influence the server_name field of an MCP server to run arbitrary operating-system commands on Windows hosts where the victim executes fastmcp install cursor. Exploitation is gated by three prerequisites that must all hold: the host must be Windows (the shell invocation is compiled in only on that platform), the victim must run the Cursor installer command, and the attacker must control or influence the server_name value of the MCP being installed - usually via a shared, published, or otherwise attacker-supplied MCP server. The flaw is fixed in FastMCP 2.13.0; publicly available exploit code exists, but CISA KEV does not list it as actively exploited, EPSS is low at 0.23% (12th percentile), and the assessed impact requires user interaction (CVSS 3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H), making this a genuine but gated code-execution issue rather than a mass-exploitation emergency.

RemediationAI

Vendor-released patch: upgrade FastMCP to 2.13.0 or later (pip install --upgrade fastmcp), which removes the vulnerable interpolation path in generate_cursor_deeplink()/open_deeplink(); advisory details are at https://github.com/jlowin/fastmcp/security/advisories/GHSA-rj5c-58rq-j5g5. If immediate upgrade is not possible, avoid running fastmcp install cursor on Windows against MCP servers whose server_name is not fully trusted, and treat server_name as untrusted input by rejecting or stripping cmd.exe metacharacters (&, |, >, <, ^) before any install - with the trade-off that legitimate names containing those characters will be blocked and this is a mitigation, not a fix. Restricting the install workflow to non-Windows build agents or to a sandboxed/low-privilege container removes the shell=True code path entirely, at the cost of losing Windows-specific Cursor deeplink integration. Reviewing and pinning the MCP servers a team installs (avoiding unvetted shared or third-party MCP definitions) reduces attacker control of server_name, and monitoring for unexpected child processes spawned by cmd.exe /c start during installs can detect attempted abuse; note that EPSS is low (0.23%) and KEV does not list this CVE, so prioritize patching based on internal exposure to untrusted MCP servers on Windows.

Affected Packages

pypi fastmcp fix: 2.13.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

FastMCP is the Python framework commonly used to build Model Context Protocol (MCP) servers, distributed as the pip package fastmcp and maintained under the jlowin GitHub namespace; the CPE cpe:2.3:a:jlowin:fastmcp:*:*:*:*:*:*:*:* identifies the affected component and the advisory pins the vulnerable range as everything below 2.13.0. The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command): generate_cursor_deeplink(server_name, ...) interpolates the caller-supplied server_name verbatim into a cursor://...?name= query string, and the helper open_deeplink() is then invoked with shell=True on Windows, effectively running cmd.exe /c start <deeplink>. Because cmd.exe interprets metacharacters such as &, |, >, and ^, a server_name containing those characters escapes the start command and spawns an attacker-chosen process under the victim's privileges. The dangerous code path is reachable only through the fastmcp install cursor workflow (the Cursor editor deeplink installer) on Windows; on macOS and Linux the deeplink is opened without a shell and the injection is inert, and no network service or listening socket is exposed - the trigger is a locally executed developer or CI workflow operating on attacker-influenced content.

Know when Fastmcp 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 (github) PRIMARY 5.4 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

AV:L and UI:R because the victim must locally run `fastmcp install cursor`; PR:N since the attacker needs no account, only an influenced server_name; full CIA as a user-context process is spawned.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

FastMCP is the standard framework for building MCP applications. Versions prior to 2.13.0, a command-injection vulnerability lets any attacker who can influence the server_name field of an MCP execute arbitrary OS commands on Windows hosts that run fastmcp install cursor. This vulnerability is fixed in 2.13.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
growing open-source MCP framework, but Windows plus Cursor-installer path narrows real footprint
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: +20
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.

Affected Products (CPE)CVE.org

cpe:2.3:a:jlowin:fastmcp:*:*:*:*:*:*:*:*

References

Advisories & patches

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