CVE-2025-62801

7.8 HIGH

📋 TL;DR

CVE-2025-62801 is a command injection vulnerability in FastMCP that allows attackers to execute arbitrary operating system commands on Windows hosts by manipulating the server_name field. This affects Windows systems running fastmcp install cursor with FastMCP versions before 2.13.0. Attackers who can influence the server_name parameter can achieve remote code execution.

💻 Affected Systems

Products:
  • FastMCP
Versions: All versions prior to 2.13.0
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Windows hosts running 'fastmcp install cursor'. Linux/macOS systems are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with attacker gaining administrative privileges, data exfiltration, ransomware deployment, and persistent backdoor installation.

🟠

Likely Case

Unauthorized command execution leading to data theft, lateral movement within the network, and installation of malware or crypto-miners.

🟢

If Mitigated

Limited impact due to network segmentation, least privilege configurations, and proper input validation preventing successful exploitation.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires ability to influence the server_name field, which typically requires some level of access or social engineering.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.13.0

Vendor Advisory: https://github.com/jlowin/fastmcp/security/advisories/GHSA-rj5c-58rq-j5g5

Restart Required: Yes

Instructions:

1. Stop all FastMCP services. 2. Update FastMCP to version 2.13.0 or later using 'pip install fastmcp>=2.13.0'. 3. Restart FastMCP services. 4. Verify the update with 'fastmcp --version'.

🔧 Temporary Workarounds

Input Validation for server_name

all

Implement strict input validation and sanitization for the server_name field to prevent command injection.

# Implement server_name validation in your FastMCP application code
# Example: Validate server_name contains only alphanumeric characters and hyphens
import re
def validate_server_name(name):
    return bool(re.match(r'^[a-zA-Z0-9\-]+$', name))

Network Segmentation

windows

Isolate FastMCP instances from critical systems and limit network access.

# Configure firewall rules to restrict FastMCP network access
# Example Windows firewall command:
netsh advfirewall firewall add rule name="Block FastMCP" dir=in action=block program="C:\path\to\fastmcp.exe" enable=yes

🧯 If You Can't Patch

  • Implement strict input validation and sanitization for all user-controlled fields, particularly server_name.
  • Run FastMCP with least privilege accounts and implement network segmentation to limit potential damage.

🔍 How to Verify

Check if Vulnerable:

Check FastMCP version with 'fastmcp --version'. If version is below 2.13.0 and running on Windows with 'fastmcp install cursor', the system is vulnerable.

Check Version:

fastmcp --version

Verify Fix Applied:

Verify FastMCP version is 2.13.0 or higher with 'fastmcp --version'. Test server_name input with special characters to ensure they are properly sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual command execution patterns in Windows event logs
  • FastMCP process spawning unexpected child processes
  • Failed attempts to inject commands in server_name field

Network Indicators:

  • Unexpected outbound connections from FastMCP hosts
  • Command and control traffic patterns

SIEM Query:

source="windows_security" AND event_id=4688 AND (process_name="cmd.exe" OR process_name="powershell.exe") AND parent_process_name="fastmcp.exe"

🔗 References

📤 Share & Export