# CVE-2026-111770: Model Context Protocol TypeScript SDK: Shared transport or server instances delivered one HTTP client's messages to another

Status: published. Published: 2026-11-05. Updated: 2026-11-05.

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.

## Remediation

- fix: @modelcontextprotocol/server (npm): OSV reports a fixed version 2.3.0. Check the advisory for supported release branches. (source: OSV GHSA-jm63-cq47-j5jp) — https://github.com/advisories/GHSA-jm63-cq47-j5jp

## Affected products and versions

- modelcontextprotocol / typescript-sdk: < 1.32.0 (affected). Source: CNA: GitHub_M
- @modelcontextprotocol / server: >= 2.0.0, < 2.3.0 (affected). Source: CNA: GitHub_M
-  / @modelcontextprotocol/server (@modelcontextprotocol/server): ≥ 2.0.0; < 2.3.0 (affected, semver); OSV events: introduced 2.0.0; fixed 2.3.0. Source: OSV GHSA-jm63-cq47-j5jp

## Severity and prioritization

- CVSS 3.1: 7.7 (high); CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:H; source: CNA: GitHub_M

- CISA KEV: No listing in collected sources

- EPSS: Not available

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-362

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-jm63-cq47-j5jp (CNA: GitHub_M; x_refsource_CONFIRM)

- https://github.com/modelcontextprotocol/typescript-sdk/pull/2918 (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/modelcontextprotocol/typescript-sdk/commit/84804c22e45a662675a198f853b7f00063838a8d (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.32.0 (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/server@2.3.0 (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/advisories/GHSA-jm63-cq47-j5jp (OSV / GitHub Security Advisories; advisory)

- https://osv.dev/vulnerability/GHSA-jm63-cq47-j5jp (OSV / GitHub Security Advisories; osv)

## Provenance

- CNA: GitHub_M: https://www.cve.org/CVERecord?id=CVE-2026-111770; retrieved 2026-11-05; source updated 2026-11-05

- OSV / GitHub Security Advisories: https://osv.dev/vulnerability/GHSA-jm63-cq47-j5jp; retrieved 2026-11-05; source updated 2026-10-20

Revision: 0266284a7dce2fc55be1961599f8c9a38f3038ed3140c8b2652eb59517cc3fdb

Canonical: https://y2.dev/cve/CVE-2026-111770

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.