Read the docs

Python SDK for Model Context Protocol fetches server-chosen $ref URLs

Priority LOW 29CWE-918Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 12 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-918 and the CVSS impact.

Summary

The Model Context Protocol Python SDK from 1.10.0 before 1.30.0 and from 2.0.0 before 2.2.0 validates tool results against server-declared output schemas with the default resolver. An unresolved $ref value makes the client fetch HTTP, HTTPS or file URLs from its own network and filesystem context, which is server-side request forgery (CWE-918). A malicious server can trigger blind requests or local file reads, and the synchronous resolution without a timeout can stall every session in the process.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

The Model Context Protocol Python SDK is the official Python SDK for Model Context Protocol servers and clients. From 1.10.0 until 1.30.0 and 2.2.0, ClientSession, ClientSessionGroup, and Client tool calls validate server-declared outputSchema documents with jsonschema's default resolver, causing an unresolved $ref value to fetch an HTTP, HTTPS, or file URL from the client's network and filesystem context. A server can trigger blind requests or local-file reads and can stall every session in the process because resolution runs synchronously on the event loop without a timeout. This issue is fixed in versions 1.30.0 and 2.2.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00337 27th percentileScored 2026-11-07
Fix Partial python-sdk (modelcontextprotocol): 1.30.0, 2.2.0mcp (PyPI): 2.2.0, 1.30.0Red Hat: 12 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
MLflowpython-sdk1.10.0 to before 1.30.0; 2.0.0 to before 2.2.01.30.0, 2.2.0Patch availableCNA
—mcp (PyPI)2.0.0 to before 2.2.02.2.0Patch availableGHSA-rwrf-2pqf-9j8j
—mcp (PyPI)1.10.0 to before 1.30.01.30.0Patch availableGHSA-rwrf-2pqf-9j8j
  • python-sdk VendorMLflow Affected 1.10.0 to before 1.30.0; 2.0.0 to before 2.2.0 Fixed in 1.30.0, 2.2.0 Patch available CNA
  • mcp (PyPI) Vendor— Affected 2.0.0 to before 2.2.0 Fixed in 2.2.0 Patch available GHSA-rwrf-2pqf-9j8j
  • mcp (PyPI) Vendor— Affected 1.10.0 to before 1.30.0 Fixed in 1.30.0 Patch available GHSA-rwrf-2pqf-9j8j

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:lfprojects:mcp_python_sdk:*:*:*:*:*:*:*:*——MLflow
  • cpe:2.3:a:lfprojects:mcp_python_sdk:*:*:*:*:*:*:*:* Versions — — ·MLflow

Remediation

Upgrade the mcp package on the 1.x line to 1.30.0 and on the 2.x line to 2.2.0, as fixed in the python-sdk releases. Red Hat lists no fix planned for Exploit Intelligence and no available fix for Ansible Automation Orchestrator 2026, Lightspeed Core, Migration Toolkit for Applications 8, OpenShift Lightspeed and other products.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA python-sdk (modelcontextprotocol) Fixed in 1.30.0, 2.2.0
  • Fix · GHSA-rwrf-2pqf-9j8j mcp (PyPI) Fixed in 2.2.0 Advisory →
  • Fix · GHSA-rwrf-2pqf-9j8j mcp (PyPI) Fixed in 1.30.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Ansible Automation Orchestrator 2026AffectedNo fix yet: Fix deferred
Exploit IntelligenceAffectedNo fix planned: Out of support scope
Lightspeed CoreAffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat AI Inference ServerAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux command line assistantAffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Virtualization 4AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-27 Threatist record created from CVE-2026-116686
  2. 2026-10-27 Alias added: GHSA-rwrf-2pqf-9j8j
  3. 2026-10-28 CISA SSVC decision points changed
  4. 2026-10-28 Priority changed: MEDIUM → LOW
  5. 2026-10-29 Affected versions changed · Red Hat
  6. 2026-10-29 CVSS score added · Red Hat

References

  • TI-2026-46366 Server-side request forgery in mlflow KEVCVSS 3.1CRITICAL 9.3
  • TI-2023-03518 Absolute Path Traversal in mlflow/mlflow CVSS 3.1CRITICAL 10.0
  • TI-2023-01113 Path Traversal: '\..\filename' in mlflow/mlflow CVSS 3.1CRITICAL 9.8
  • TI-2025-31759 Redis Lua Use-After-Free may lead to remote code execution CVSS 3.1CRITICAL 10.0
  • TI-2026-81527 Code execution via scorer deserialization in MLflow servers CVSS 3.1CRITICAL 9.8
  • TI-2025-14028 Command Injection in mlflow/mlflow CVSS 3.1CRITICAL 10.0
See all 175 →

Sources