MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another (CVE-2026-111770)
Description
A vulnerability in @modelcontextprotocol/server versions 2.0.0 through 2.2.0 allows an MCP server accessed over HTTP to deliver one client's responses and notifications to another client when clients share a stateless transport or a single server instance. This occurs because messages are matched only by JSON-RPC id, which can collide. The issue is fixed in version 2.3.0 and later, but requires code changes to avoid sharing SDK clients or server instances across multiple clients.
CVSS v3.1
Score 7.7high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In affected versions of @modelcontextprotocol/server (2.0.0 through 2.2.0), an MCP server reachable via HTTP could mistakenly deliver responses and notifications intended for one client to another client if multiple clients share a stateless transport or a single McpServer or Server instance. This is due to message matching relying solely on JSON-RPC id, which SDK clients number from zero, causing id collisions under normal use. The vulnerability does not affect stdio servers or SDK versions 1.26.0 and later. The issue is resolved in version 2.3.0 and later, which also introduces SDK behavior changes that prevent sharing client connections. Correct usage now requires creating a new McpServer and transport per request or session, or using a factory to build a new server on each call.
Potential Impact
An attacker or client could receive responses or notifications intended for another client, potentially exposing sensitive data or causing confusion in client-server communication. The CVSS score is 7.7 (high), reflecting network attack vector, high impact on confidentiality and availability, and low complexity but requiring high attack complexity due to the need to share the same server or transport instance.
Mitigation Recommendations
A fix is available in @modelcontextprotocol/server version 2.3.0 and later. Users must upgrade to this version and modify their code to avoid sharing SDK clients or server instances across multiple clients. Specifically, use createMcpHandler() with a factory that builds a new McpServer on every call, build a new McpServer and transport per request, or maintain one McpServer and transport per session with sessionIdGenerator configured. If upgrading is not immediately possible, applying these code changes to avoid shared instances also mitigates the issue.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-jm63-cq47-j5jp
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-111770"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
Threat ID: 6ad7ec462cdf04f6566b9f94
Added to database: 10/20/2026, 22:33:42 UTC
Last enriched: 10/20/2026, 22:43:09 UTC
Last updated: 10/20/2026, 22:43:09 UTC
Views: 5
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.