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.
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.
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.
@modelcontextprotocol/server 2.3.0 or later; the advisory lists no other workaround.Sources: GitLab Advisory Database and Vulert (CVE-2026-111770, October 20, 2026).
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