Model Context Protocol TypeScript SDK: Denial-of-service via unbounded JSON-RPC payloads
The Model Context Protocol (MCP) TypeScript SDK is vulnerable to remote denial-of-service due to a lack of request body size and JSON-RPC batch length limits, allowing unauthenticated attackers to exhaust server resources.
Triage facts
Revision 1- Applicability
- @modelcontextprotocol/sdk (1.10.0-1.30.0), @modelcontextprotocol/server (2.0.0) +2
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 1 public source
- Freshness
- Revision 1Oct 29, 21:02 UTC
- Source quality
- B2Roughly even chance
The Model Context Protocol (MCP) TypeScript SDK fails to enforce limits on HTTP request body sizes and the number of messages within a JSON-RPC batch. This vulnerability allows an unauthenticated attacker to send excessively large payloads or large batches to an MCP server, leading to memory exhaustion or service unavailability. Deployment configurations utilizing stdio are not affected by this vulnerability.
Impact
Successful exploitation results in a denial-of-service condition, potentially crashing the server or preventing legitimate requests from being processed due to resource exhaustion.
Recommendation
- Update affected packages immediately to the patched versions:
- For 1.x environments: Update
@modelcontextprotocol/sdkto 1.30.1 or later. - For 2.x environments: Update
@modelcontextprotocol/serverto 2.1.0,@modelcontextprotocol/nodeto 2.1.0, and@modelcontextprotocol/honoto 2.0.1 or later. - If immediate patching is not possible, implement a request body size limit at the reverse proxy or API gateway level to mitigate payload-based exhaustion.
- Review MCP server configurations to verify if client trust boundaries allow unauthenticated access to HTTP transport endpoints.
Immediate actions
Upgrade vulnerable MCP packages to the specified patched versions
Threat Hunt
Identify MCP endpoints receiving excessively large HTTP POST requests or high-frequency JSON-RPC batch requests
Data: Web server access logs, HTTP request body size metadata
Mitigations
Configure reverse proxy to enforce maximum request body size limits
Denial of service via unbounded payloads