CVE-2026-111770: How the MCP TypeScript SDK Can Send One Client's Responses to Another Through JSON-RPC ID Collisions

By Carlos Montiel | Enterprise AI Specialist
Leer en español →
Published: 2026-10-27 | By: Carlos Montiel | Reading time: ~5 minutes
CVE-2026-111770: how the MCP TypeScript SDK can send responses from one client to another through JSON-RPC ID collisions

Advisory CVE-2026-111770 (CVSS 7.7, published October 20, 2026) affects @modelcontextprotocol/server versions 2.0.0 to 2.2.x: an HTTP MCP server that shares one transport across clients can hand one client's responses and notifications to another. The cause is an identifier collision.

How the Flaw Works

The MCP protocol uses JSON-RPC messages, where each request carries an id so the response can be matched to it. According to the advisory, when an HTTP-exposed server reuses a single stateless transport, or the same McpServer or Server instance, for multiple clients, messages were tied to a connection "solely by the JSON-RPC id". Because the SDK's clients number their requests starting at 0, IDs collide as a matter of course: client A and client B both send id 0, and the response can end up with the wrong one.

CVE: CVE-2026-111770 (GHSA-jm63-cq47-j5jp) Package: @modelcontextprotocol/server (npm) Affected: 2.0.0 up to but not including 2.3.0 Fixed in: 2.3.0 CVSS 3.1: 7.7 (high) - CWE-362, race condition Published: October 20, 2026

Why It's Not Just Another Bug

An MCP server typically returns tool data: database queries, files, tickets. If responses cross between clients, one user or agent can receive data from another session, with no need for an attacker to "break" anything: sharing the same instance is enough. The score (high confidentiality, low integrity, high availability, high attack complexity) reflects that it depends on the race condition and on the deployment pattern.

Precedent: a similar flaw (CVE-2026-25536, CVSS 7.1) affected versions 1.10.0 to 1.25.3 of the earlier SDK when a server and transport were reused across clients, fixed in 1.26.0. It's the same design pattern resurfacing: sharing instances across clients is the mistake to avoid.

How to Mitigate It

What it means for your company: if your team built internal MCP connectors to give agents access to databases or documents, check the SDK version and make sure each session has its own state. A cross-client leak on a multi-user server is a data breach even if nobody "hacked" anything.

Sources: GitLab Advisory Database and Vulert (CVE-2026-111770, October 20, 2026).

Carlos Montiel
Enterprise AI Solutions Architect
Specialist in LLMs, Agents, and Orchestration
guatemalia.com/#contacto · info@guatemalia.com

Need to implement AI in your company?

Carlos Montiel is an enterprise AI solutions architect. He implements LLMs, Agents, RAG, and orchestrators for companies across Guatemala and Latin America. Reach out for a consultation.

Contact Carlos Montiel

info@guatemalia.com