Description
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 2.0.0 until 2.3.0 in @modelcontextprotocol/server, applications that shared one stateless HTTP transport or one McpServer or Server instance among multiple clients could deliver responses and notifications to the wrong client. The affected surface is an MCP server reached over HTTP by multiple clients. The trigger is reuse of one stateless transport or server instance. Messages were associated with a connection using only the JSON-RPC request identifier. SDK clients start request identifiers at zero, so collisions occur in normal operation. Cross-client delivery exposes one client's responses and notifications to another client. The issue requires an HTTP endpoint reachable by more than one client and an application that constructs the server or transport once at startup instead of once per request or session. stdio servers and factory-created per-call servers are not affected. Upgrading causes reused instances to fail and therefore requires an application code change. This issue is fixed in @modelcontextprotocol/server 2.3.0.
Published: 2026-11-05
Score: 7.7 High
EPSS: n/a
KEV: No
Impact: Information Disclosure
Action: Update SDK
AI Analysis

Impact

The Model Context Protocol TypeScript SDK uses a stateless HTTP transport or a single server instance to service multiple clients. When a shared transport or server is reused, the SDK associates messages with a JSON‑RPC request identifier only, and client code resets the identifier counter to zero. This permits a race condition where two concurrent clients generate the same request ID, causing responses and notifications to be delivered to the wrong recipient. The result is cross‑client leakage of data that may contain sensitive information, representing a confidentiality breach. The weakness is identified as CWE‑362.

Affected Systems

Vendors affected include @modelcontextprotocol/server versions 2.0.0 through 2.3.0 and the TypeScript SDK that depends on it. Any application that constructs a single @modelcontextprotocol/server or HTTP transport instance at startup and exposes an MCP server over HTTP to multiple clients is susceptible. Standard stdio servers and factory‑created per‑call servers are not impacted.

Risk and Exploitability

The vulnerability carries a CVSS score of 7.7 and is not listed in the CISA KEV catalog. Although EPSS data is not available, the requirement for a shared HTTP endpoint and reusable server instance is common in web application deployment, suggesting a moderate to high likelihood of exploitation. The likely attack vector is remote network access to the HTTP endpoint, where an attacker can send concurrent requests from multiple clients or craft a single client that triggers ID collisions. Successful exploitation would result in confidential data disclosure across client sessions. 

Generated by OpenCVE AI on November 5, 2026 at 22:20 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade @modelcontextprotocol/server to version 2.3.0 or later, which fails reuse of server instances and prevents ID collisions.
  • Refactor application code to create a new @modelcontextprotocol/server or HTTP transport instance for each client or session, rather than sharing a single instance at startup.
  • Ensure that the HTTP endpoint exposed by the server is restricted to the intended client set or isolated per client to reduce the attack surface.

Generated by OpenCVE AI on November 5, 2026 at 22:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-jm63-cq47-j5jp MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another
History

Thu, 05 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Description The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 2.0.0 until 2.3.0 in @modelcontextprotocol/server, applications that shared one stateless HTTP transport or one McpServer or Server instance among multiple clients could deliver responses and notifications to the wrong client. The affected surface is an MCP server reached over HTTP by multiple clients. The trigger is reuse of one stateless transport or server instance. Messages were associated with a connection using only the JSON-RPC request identifier. SDK clients start request identifiers at zero, so collisions occur in normal operation. Cross-client delivery exposes one client's responses and notifications to another client. The issue requires an HTTP endpoint reachable by more than one client and an application that constructs the server or transport once at startup instead of once per request or session. stdio servers and factory-created per-call servers are not affected. Upgrading causes reused instances to fail and therefore requires an application code change. This issue is fixed in @modelcontextprotocol/server 2.3.0.
Title Model Context Protocol TypeScript SDK: Shared transport or server instances delivered one HTTP client's messages to another
Weaknesses CWE-362
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-05T21:44:49.319Z

Reserved: 2026-10-16T17:52:09.082Z

Link: CVE-2026-111770

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-05T22:17:45.817

Modified: 2026-11-05T22:17:45.817

Link: CVE-2026-111770

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-05T22:30:17Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')