MCP SDK servers over HTTP can be overwhelmed by oversized requests
A malicious or careless client can send huge requests or very long batches of messages to an MCP server exposed over HTTP. This can use up the server's memory and stop it from serving other users.
| Severity | HighCVSS 7.5 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yes@modelcontextprotocol/sdk 1.30.1 or later; @modelcontextprotocol/server 2.1.0; @modelcontextprotocol/node 2.1.0; @modelcontextprotocol/hono 2.0.1 or later. Fixed versions return 413 for bodies over 4 MiB and 400 for batches over 100 messages. · since 27 Oct 2026 |
| How sure is this? | Official sourceBacked by an official source |
How the attack works simplified
- 1Attacker sends requestsOversized POST body or huge batch
- 2Request reaches serverStreamable HTTP endpoint is exposed
- 3No size limit appliedSDK accepts the full request
- 4Memory exhaustedLong batch blocks other requests
- ResultServer crashes or stops serving users
What happened
The MCP TypeScript SDK packages (sdk, server, node, hono) do not limit POST body size or the number of messages in a JSON-RPC batch over Streamable HTTP, enabling memory exhaustion and denial of service.
Are you affected?
You are affected if you run an MCP server using Streamable HTTP that untrusted clients can reach, with @modelcontextprotocol/sdk 1.10.0 through 1.30.0, or @modelcontextprotocol/server, @modelcontextprotocol/node 2.0.0, or @modelcontextprotocol/hono 2.0.0.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| @modelcontextprotocol/sdk · npm | >= 1.10.0, < 1.30.1 | 1.30.1 |
| @modelcontextprotocol/server · npm | >= 2.0.0, < 2.1.0 | 2.1.0 |
| @modelcontextprotocol/node · npm | >= 2.0.0, < 2.1.0 | 2.1.0 |
| @modelcontextprotocol/hono · npm | >= 2.0.0, < 2.0.1 | 2.0.1 |
What to do
- Upgrade @modelcontextprotocol/sdk to 1.30.1 or later, or the 2.x packages (server and node to 2.1.0, hono to 2.0.1) if you use them
- Upgrade every MCP package you have installed, not just one
- If you cannot upgrade yet, set a maximum request body size in a reverse proxy in front of the server
- If legitimate clients send larger bodies, raise the new maxRequestBodySize option after upgrading
Timeline
- 27 Oct 2026, 19:02 UTCPublicly disclosed
- 27 Oct 2026, 19:02 UTCReported by GitHub Advisory · GitHub Advisory
- 27 Oct 2026, 19:02 UTCPicked up by Zero Radar
Sources 1 report, oldest first
Official vendor, government CERT or advisory database
- MCP TypeScript SDK: HTTP server transports and handlers did not limit request body size or JSON-RPC batch lengthGitHub Advisory · 27 Oct 2026, 19:02 UTC
Technical details
- ID
- GHSA-f897-62hf-6gxq
- CVSS
- 7.5 / 10
- Disclosed
- 27 Oct 2026, 19:02 UTC
- On Zero Radar
- 27 Oct 2026, 19:02 UTC (1 min after disclosure)
- Last change
- 27 Oct 2026, 19:02 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works