Update npm package @modelcontextprotocol/sdk to v1.26.0 [SECURITY]#8358
Update npm package @modelcontextprotocol/sdk to v1.26.0 [SECURITY]#8358hash-worker[bot] wants to merge 1 commit intomainfrom
@modelcontextprotocol/sdk to v1.26.0 [SECURITY]#8358Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
3 Skipped Deployments
|
PR SummaryLow Risk Overview Regenerates Written by Cursor Bugbot for commit a642b7a. This will update automatically on new commits. Configure here. |
🤖 Augment PR SummarySummary: Upgrade 🤖 Was this summary useful? React with 👍 or 👎 |
This PR contains the following updates:
1.25.2->1.26.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
CVE-2026-25536
Summary
Cross-client response data leak when a single
McpServer/Serverand transport instance is reused across multiple client connections, most commonly in statelessStreamableHTTPServerTransportdeployments.Impact
Who is affected: Any MCP server deployment using the TypeScript SDK where a single
McpServer(orServer) instance is shared across multiple concurrent client connections. This is most likely in stateless mode (nosessionIdGenerator), where the natural but incorrect pattern is to create one server and transport and handle all requests through it. Stateful mode is also affected if the server instance is improperly shared across sessions, though this misconfiguration is less common since the stateful pattern naturally encourages per-session instances.What happens: When two or more MCP clients send requests concurrently through a shared server instance, JSON-RPC message ID collisions cause responses to be routed to the wrong client's HTTP connection. Client A can receive response data intended for Client B, and vice versa, even when authorization was correctly enforced on each individual request.
The MCP SDK's client generates message IDs using a simple incrementing counter starting at 0. When two clients connect to the same server instance, they produce identical message IDs, causing the transport's internal request-to-stream mapping to overwrite one client's entry with another's — routing responses to the wrong HTTP connection.
Conditions for exploitation:
McpServer/Serverinstance across requests or sessions (rather than creating fresh instances per request/session)Not affected:
McpServer+ transport per session (the typical and recommended stateful pattern)McpServer+ transport per requestPatches
The fix adds runtime guards that turn silent data misrouting into immediate, actionable errors:
Protocol.connect()now throws if the protocol is already connected to a transport, preventing silent transport overwriting across both stateful and stateless modesStreamableHTTPServerTransport.handleRequest()now throws if called more than once, enforcing one-request-per-transport in stateless modeServers that were incorrectly reusing instances will now receive a clear error message directing them to create separate instances per connection.
Workarounds
If projects cannot upgrade immediately, ensure the server creates fresh
McpServerand transport instances for each request (stateless) or session (stateful):Resources
Release Notes
modelcontextprotocol/typescript-sdk (@modelcontextprotocol/sdk)
v1.26.0Compare Source
Addresses "Sharing server/transport instances can leak cross-client response data" in this GHSA GHSA-345p-7cg4-v4c7
What's Changed
New Contributors
Full Changelog: modelcontextprotocol/typescript-sdk@v1.25.3...v1.26.0
v1.25.3Compare Source
What's Changed
Full Changelog: modelcontextprotocol/typescript-sdk@v1.25.2...v1.25.3
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.