Vulnerability · CVE-2026-116686
Model Context Protocol Python SDK: Client fetched server-chosen $ref URLs while validating tool results against output schemas
Published Oct 27, 2026 · catalog updated Oct 27, 2026 · Model Context Protocol Python
Last checked Nov 6, 2026. A connected source was read within the last 7 days.
Check if you run it
No confirmed exploitation is on record for CVE-2026-116686. EPSS is 0.34%. Act only if a listed version of Model Context Protocol Python is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Model Context Protocol Python).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- Medium6.5
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.34%
- Remediation
- Version ranges on file
- Affected products
- PyPI mcp · pip mcp · pypi mcp
### Summary In affected versions, when a connected MCP server declared an for a tool, the SDK's client validated each result with 's default resolver, which fetches any it cannot resolve locally by opening the URL. A server could therefore put an , or reference in a tool's output schema and make the client: - request that URL, or read that local file, from the client's own network position on every call of the tool (the content was used only as a schema and never sent back to the server), and - stall: the fetch ran synchronously on the event loop with no timeout, so a target that accepted the connection and then went quiet froze every session in the process for as long as it held the connection. ### Am I affected? Yes, if your application uses the SDK as an MCP client ( over any transport, , or the 2.x ) and calls tools on servers you do not fully control. There was no setting that turned the validation off. Affected versions: 1.10.0 through 1.29.1, and 2.0.0 through 2.1.1. Not affected: applications that only build servers. If nothing in your code uses , or the 2.x class, you are not affected. ### Fix Upgrade to 1.30.0 (1.x) or 2.2.0 (2.x) or later. The client now resolves references only within the schema document the server sent (plus the standard JSON Schema metaschemas), so result validation performs no network or file access. A tool whose output schema points outside its own document fails at call time with ( ); in-document references such as work as before. Until you can upgrade, call tools only on servers you trust. As a partial stopgap, skip tools whose contains an , or a / that does not start with .
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- PyPI mcp1.10.0 → 1.30.0
- PyPI mcp2.0.0 → 2.2.0
- pip mcp>= 1.10.0, < 1.30.0
- pip mcp>= 2.0.0, < 2.2.0
- pypi mcpversion unspecified
How to fix CVE-2026-116686
Upgrade
CVE-2026-116686 lists a fix boundary at 1.30.0. Compare the installed build with that boundary before you change production.
Version check
Affected < 1.30.0
Advisory
Open the cve_org record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-116686. EPSS is 0.34%. Act only if a listed version of Model Context Protocol Python is installed.
Which versions are affected?
Compare what you have installed with 1.10.0 → 1.30.0, 2.0.0 → 2.2.0, >= 1.10.0, < 1.30.0, >= 2.0.0, < 2.2.0. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-918: Server-Side Request Forgery (SSRF). EPSS 0.34%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 27, 2026 · GitHub Advisory Database
Detected
### Summary In affected versions, when a connected MCP server declared an for a tool, the SDK's client validated each result with 's default resolver, which fetches any it cannot resolve locally by opening the URL. A server could therefore put an , or reference in a tool's output schema and make the client: - request that URL, or read that local file, from the client's own network position on ever
Oct 27, 2026 · GitHub Advisory Database
Fix available
mcp fixed in 2.2.0; mcp fixed in 1.30.0
Oct 27, 2026 · GitHub Advisory Database
Fix available
mcp fixed in 2.2.0
Oct 27, 2026 · GitHub Advisory Database
Fix available
mcp fixed in 1.30.0
Oct 27, 2026 · GitHub Advisory Database
Updated
### Summary In affected versions, when a connected MCP server declared an for a tool, the SDK's client validated each result with 's default resolver, which fetches any it cannot resolve locally by opening the URL. A server could therefore put an , or reference in a tool's output schema and make the client: - request that URL, or read that local file, from the client's own network position on ever
Sources
- CVE.orgVulnerability recordCVE-2026-116686
Official CVE identifier
cve.org - FIRST EPSSExploitation probabilityCVE-2026-116686
30-day exploitation probability 0.34%
first.org - GitHub Advisory DatabasePackage advisoryGHSA-rwrf-2pqf-9j8j
GitHub Advisory Database record mirrored by OSV.
github.com - GitLab Advisory DatabasePackage advisoryCVE-2026-116686
In affected versions, when a connected MCP server declared an outputSchema for a tool, the SDK's client validated each call_tool result with jsonschema's default resolver, which fetches any $ref it cannot resolve locally by opening the URL. A server could therefore put an http://, https:// or file:// reference in a tool's output schema and make the client: request that URL, or read that local file
advisories.gitlab.com - OpenSSF OSV / OSV ScannerPackage advisoryGHSA-rwrf-2pqf-9j8j
Model Context Protocol Python SDK: Client fetched server-chosen $ref URLs while validating tool results against output schemas
osv.dev - PyPA Advisory DatabasePackage advisoryGHSA-rwrf-2pqf-9j8j
Model Context Protocol Python SDK: Client fetched server-chosen $ref URLs while validating tool results against output schemas
osv.dev
References
Freshness
Last verified in this catalog Nov 6, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- FIRST EPSSNov 6, 2026
- GitHub Advisory DatabaseOct 28, 2026
- OpenSSF OSV / OSV ScannerOct 28, 2026
- CVE.orgOct 28, 2026
- PyPA Advisory DatabaseOct 28, 2026
- GitLab Advisory DatabaseOct 28, 2026