Missing size limits in MCP TypeScript SDK HTTP transports
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-770.
Summary
The MCP TypeScript SDK packages @modelcontextprotocol/sdk from 1.10.0 before 1.30.1, @modelcontextprotocol/server and @modelcontextprotocol/node from 2.0.0 before 2.1.0, and @modelcontextprotocol/hono from 2.0.0 before 2.0.1 do not limit HTTP POST body size or JSON-RPC batch length (CWE-770). A client that can reach a Streamable HTTP server can send large bodies or long batches that exhaust memory and block other clients. No credentials are needed unless the application authenticates requests before the SDK.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the GitHub advisory
### Summary In affected versions, MCP servers reachable over HTTP put no limit on the size of a POST body or on the number of messages in a JSON-RPC batch. Large requests could exhaust the server's memory, and one long batch could block it from serving anyone else. No credentials were needed, unless your application authenticates requests before they reach the SDK. ### Am I affected? Yes, if clients you do not fully trust can reach your server over Streamable HTTP. A body parser such as `express.json()` does not protect you, because it does not limit batch length. Servers that only use stdio are not affected. Affected versions: - `@modelcontextprotocol/sdk` 1.10.0 through 1.30.0 - `@modelcontextprotocol/server` 2.0.0 - `@modelcontextprotocol/node` 2.0.0 - `@modelcontextprotocol/hono` 2.0.0 ### Fix Upgrade to: - 1.x: `@modelcontextprotocol/sdk` 1.30.1 or later - 2.x: `@modelcontextprotocol/server` 2.1.0, `@modelcontextprotocol/node` 2.1.0 and `@modelcontextprotocol/hono` 2.0.1 or later. Upgrade every one you have installed. Bodies over 4 MiB now get `413`, and batches over 100 messages get `400`. If your clients send larger bodies, raise the new `maxRequestBodySize` option. If you cannot upgrade yet, cap request body size in a reverse proxy.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | @modelcontextprotocol/sdk (npm) | 1.10.0 to before 1.30.1 | 1.30.1 | Patch available | GHSA-f897-62hf-6gxq |
| — | @modelcontextprotocol/server (npm) | 2.0.0 to before 2.1.0 | 2.1.0 | Patch available | GHSA-f897-62hf-6gxq |
| — | @modelcontextprotocol/node (npm) | 2.0.0 to before 2.1.0 | 2.1.0 | Patch available | GHSA-f897-62hf-6gxq |
| — | @modelcontextprotocol/hono (npm) | 2.0.0 to before 2.0.1 | 2.0.1 | Patch available | GHSA-f897-62hf-6gxq |
- @modelcontextprotocol/sdk (npm) Vendor— Affected 1.10.0 to before 1.30.1 Fixed in 1.30.1 Patch available GHSA-f897-62hf-6gxq
- @modelcontextprotocol/server (npm) Vendor— Affected 2.0.0 to before 2.1.0 Fixed in 2.1.0 Patch available GHSA-f897-62hf-6gxq
- @modelcontextprotocol/node (npm) Vendor— Affected 2.0.0 to before 2.1.0 Fixed in 2.1.0 Patch available GHSA-f897-62hf-6gxq
- @modelcontextprotocol/hono (npm) Vendor— Affected 2.0.0 to before 2.0.1 Fixed in 2.0.1 Patch available GHSA-f897-62hf-6gxq
Remediation
Upgrade @modelcontextprotocol/sdk to 1.30.1 or later, @modelcontextprotocol/server and @modelcontextprotocol/node to 2.1.0 or later, and @modelcontextprotocol/hono to 2.0.1 or later, upgrading every one of these packages you have installed. The fix returns 413 for bodies over 4 MiB and 400 for batches over 100 messages, and the new maxRequestBodySize option raises the body limit. If you cannot upgrade yet, cap request body size in a reverse proxy.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · GHSA-f897-62hf-6gxq @modelcontextprotocol/sdk (npm) Fixed in 1.30.1 Advisory →
- Fix · GHSA-f897-62hf-6gxq @modelcontextprotocol/server (npm) Fixed in 2.1.0 Advisory →
- Fix · GHSA-f897-62hf-6gxq @modelcontextprotocol/node (npm) Fixed in 2.1.0 Advisory →
- Fix · GHSA-f897-62hf-6gxq @modelcontextprotocol/hono (npm) Fixed in 2.0.1 Advisory →
Timeline
- 2026-10-27 Threatist record created from GHSA-f897-62hf-6gxq
References
Other 10
- https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-f897-62hf-6gxq
- https://github.com/modelcontextprotocol/typescript-sdk/pull/2698
- https://github.com/modelcontextprotocol/typescript-sdk/pull/2717
- https://github.com/modelcontextprotocol/typescript-sdk/commit/7b781ed4e25355a25d15974f3c76de81299694ed
- https://github.com/modelcontextprotocol/typescript-sdk/commit/a9f6eb709b85459d01e8f2a9e881fef2621756c1
- https://github.com/modelcontextprotocol/typescript-sdk
- https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.30.1
- https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/[email protected]
- https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/[email protected]
- https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/[email protected]
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences