CVE-2026-111770
Model Context Protocol Server Message Improper Isolation Vulnerability
Description
### Summary In affected versions, an MCP server reached over HTTP could deliver one client's responses and notifications to another client. This happened when clients shared one stateless transport, or one `McpServer` or `Server` instance. Messages were matched to a connection by JSON-RPC `id` alone. SDK clients number requests from 0, so ids collide in normal use. ### Am I affected? Yes, if more than one client can reach your HTTP endpoint and your code creates the transport or the server once at startup, instead of once per request or per session. Until this release, the README examples of `@modelcontextprotocol/hono`, `express`, `fastify` and `node` showed that pattern. Affected versions: `@modelcontextprotocol/server` 2.0.0 through 2.2.0. Not affected: - `createMcpHandler()` with a factory that builds a new server on every call - stdio servers - `@modelcontextprotocol/sdk` 1.26.0 and later ### Fix Upgrade to `@modelcontextprotocol/server` 2.3.0 or later. **You also need to change your code.** The SDK now refuses to be shared, so an affected app fails requests after upgrading: a second `connect()` rejects with `ALREADY_CONNECTED`, and a stateless transport rejects its second request. Change to one of these: - **`createMcpHandler()`:** pass a factory that builds a new `McpServer` on every call. - **Per request:** build a new `McpServer` and a new transport inside the request handler. - **Per session:** set `sessionIdGenerator` and keep one `McpServer` and one transport per session. If you cannot upgrade yet, the same change fixes affected versions.
INFO
Published Date :
Oct. 20, 2026, 8:07 p.m.
Last Modified :
Oct. 20, 2026, 8:08 p.m.
Remotely Exploit :
Yes !
Source :
github-security-advisories
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | github |
Solution
- Upgrade to @modelcontextprotocol/server 2.3.0 or later.
- Use a factory to build a new server on every call.
- Build a new server and transport per request or session.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-111770.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-111770 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-111770
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-111770 vulnerability anywhere in the article.