Skip to main content
WebguneWebgunebeta
Pricing
Toutes les failles

MoyenneCVE-2026-116686October 27, 2026

SDK Python Model Context Protocol : Le client a extrait des URLs $ref choisies par le serveur lors de la validation des résultats d'outils par rapport aux schémas de sortie

Exploitable dans des cas précis ou avec un impact limité : à corriger à la prochaine mise à jour.

Sévérité
Moyenne6.5 / 10
Publiée le
October 27, 2026
Mise à jour
October 27, 2026

L'avis

Traduction automatique de l'avis officiel. En cas de doute, l'avis d'origine, plus bas, fait foi.

Résumé

Dans les versions affectées, lorsqu'un serveur MCP connecté déclarait un outputSchema pour un outil, le client du SDK validait chaque résultat de call_tool avec le solveur par défaut de jsonschema, qui extrait tout $ref qu'il ne peut pas résoudre localement en ouvrant l'URL. Un serveur pouvait donc placer une référence http://, https:// ou file:// dans le schéma de sortie d'un outil et faire en sorte que le client :

  • demande cette URL, ou lire ce fichier local, depuis la propre position réseau du client à chaque appel de l'outil (le contenu n'était utilisé que comme schéma et n'était jamais renvoyé au serveur), et
  • blocage : l'extraction s'exécutait de manière synchrone sur la boucle d'événements sans timeout, de sorte qu'une cible qui acceptait la connexion puis se taisait gelait chaque session dans le processus aussi longtemps qu'elle maintenait la connexion.
Suis-je affecté ?

Oui, si votre application utilise le SDK en tant que client MCP (ClientSession sur n'importe quel transport, ClientSessionGroup, ou le Client 2.x) et appelle des outils sur des serveurs que vous ne contrôlez pas entièrement. Il n'y avait aucun paramètre pour désactiver la validation.

Versions affectées : 1.10.0 à 1.29.1, et 2.0.0 à 2.1.1.

Non affecté : les applications qui ne construisent que des serveurs. Si rien dans votre code n'utilise ClientSession, ClientSessionGroup ou la classe Client 2.x, vous n'êtes pas affecté.

Correction

Mettez à jour vers mcp 1.30.0 (1.x) ou 2.2.0 (2.x) ou une version ultérieure. Le client résoud désormais les références uniquement dans le document de schéma envoyé par le serveur (plus les métaschémas JSON Schema standard), de sorte que la validation des résultats n'effectue aucun accès réseau ou fichier. Un outil dont le schéma de sortie pointe en dehors de son propre document échoue au moment de l'appel avec RuntimeError (Invalid schema for tool ...); les références intra-document telles que #/$defs/... fonctionnent comme avant.

Jusqu'à ce que vous puissiez mettre à jour, n'appellez des outils que sur des serveurs de confiance. Comme solution partielle de secours, sautez les outils dont le outputSchema contient un $id, ou un $ref / $dynamicRef qui ne commence pas par #.

Composants touchés

ComposantVersions touchéesCorrigé en
mcpPython (pip)>= 2.0.0, < 2.2.02.2.0
mcpPython (pip)>= 1.10.0, < 1.30.01.30.0

Vous utilisez une version touchée ? Passez à la version corrigée, puis redéployez.

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

Summary

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, 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 (ClientSession over any transport, ClientSessionGroup, or the 2.x Client) 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 ClientSession, ClientSessionGroup or the 2.x Client class, you are not affected.

Fix

Upgrade to mcp 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 RuntimeError (Invalid schema for tool ...); in-document references such as #/$defs/... work as before.

Until you can upgrade, call tools only on servers you trust. As a partial stopgap, skip tools whose outputSchema contains an $id, or a $ref / $dynamicRef that does not start with #.

Catégorie : Server-Side Request Forgery (SSRF) (CWE-918)

Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

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

The all-in-one sovereign cloud, built and hosted in France.

DiscordDiscordGitHubGitHub
+33 (0)9 72 23 25 00support@webgune.cloud

Product

  • Features
  • Pricing
  • Comparison
  • Changelog
  • Status
  • Vulnerabilities (CVE)
  • Contact

Developers

  • Documentation
  • Frameworks
  • API Reference
  • Examples
  • CLI
  • Tools & VS Code

Legal

  • Terms of Service (CGS)
  • Privacy policy
  • Legal notices
  • Accessibility
  • GDPR
  • DPA
  • Acceptable Use Policy

© 2026 KX712. All rights reserved. Webgune is a KX712 service.

Payments:VisaMasterCardAmerican ExpressApple PayGoogle PaySEPABancontact