CVE-2026-25905

Lack of isolation in mcp-run-python leads to MCP server takeover

Published Feb 9, 2026 CVSS 3.1 · 5.8 Medium EPSS < 1% KEV · Not listed
Description
The Python code being run by 'runPython' or 'runPythonAsync' is not isolated from the rest of the JS code, allowing any Python code to use the Pyodide APIs to modify the JS environment. This may result in an attacker hijacking the MCP server - for malicious purposes including MCP tool shadowing. Note - the "mcp-run-python" project is archived and unlikely to receive a fix.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-pfv4-wmph-5gc6 MCP Run Python has a Sandbox Escape & Server Takeover Vulnerability
History
Type Values Removed Values Added
First Time appeared Mcp-run-python
Mcp-run-python mcp-run-python
Vendors & Products Mcp-run-python
Mcp-run-python mcp-run-python
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description The Python code being run by 'runPython' or 'runPythonAsync' is not isolated from the rest of the JS code, allowing any Python code to use the Pyodide APIs to modify the JS environment. This may result in an attacker hijacking the MCP server - for malicious purposes including MCP tool shadowing. Note - the "mcp-run-python" project is archived and unlikely to receive a fix.
Title Lack of isolation in mcp-run-python leads to MCP server takeover
Weaknesses CWE-653
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
JFROG
Published
Updated
Feb 9, 2026, 12:55 PM
Reserved
Feb 8, 2026, 11:19 AM
Status
Deferred
Published
Feb 9, 2026, 9:16 AM
Modified
Jun 17, 2026, 10:25 AM