FKIE_CVE-2026-25905
Vulnerability from fkie_nvd - Published: 2026-02-09 09:16 - Updated: 2026-02-09 16:08
Severity ?
Summary
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.
References
Impacted products
| Vendor | Product | Version |
|---|
{
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "The Python code being run by \u0027runPython\u0027 or \u0027runPythonAsync\u0027 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."
},
{
"lang": "es",
"value": "El c\u00f3digo Python ejecutado por \u0027runPython\u0027 o \u0027runPythonAsync\u0027 no est\u00e1 aislado del resto del c\u00f3digo JS, permitiendo que cualquier c\u00f3digo Python utilice las API de Pyodide para modificar el entorno JS. Esto puede resultar en que un atacante secuestre el servidor MCP - con fines maliciosos, incluida la suplantaci\u00f3n de herramientas MCP. Nota - el proyecto \"mcp-run-python\" est\u00e1 archivado y es poco probable que reciba una soluci\u00f3n."
}
],
"id": "CVE-2026-25905",
"lastModified": "2026-02-09T16:08:35.290",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 5.8,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L",
"version": "3.1"
},
"exploitabilityScore": 1.6,
"impactScore": 3.7,
"source": "reefs@jfrog.com",
"type": "Secondary"
}
]
},
"published": "2026-02-09T09:16:34.030",
"references": [
{
"source": "reefs@jfrog.com",
"url": "https://research.jfrog.com/vulnerabilities/mcp-run-python-lack-of-isolation-mcp-takeover-jfsa-2026-001653030/"
}
],
"sourceIdentifier": "reefs@jfrog.com",
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-653"
}
],
"source": "reefs@jfrog.com",
"type": "Primary"
}
]
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…