CVE-2026-111768
MCP TypeScript validation can exhaust memory within request-size limits
Model Context Protocol maintainers · MCP TypeScript SDK HTTP servers
First documented disclosure · Review checkpoint
Summary
One allowed-size request can exhaust validation memory.
Severity and exploitation evidence
High · 7.5/10 · CVSS 3.1. Severity source.
Exploitation not established: Reviewed sources do not establish malicious exploitation or confirmed victims.
Technical severity is not a measure of observed attacks or of risk to your deployment. Attempts, demonstrations, and successful compromise retain the qualifications in the source.
How the weakness works
Unbounded array elements and object keys overwhelm validation despite the default 4MiB body cap.
Conditions required
Untrusted HTTP clients; unauthenticated unless protected before the SDK. Stdio-only servers are unaffected.
Potential impact
Process termination and denial of service.
Affected versions and configurations
@modelcontextprotocol/sdk >=1.3.0,<1.32.0; @modelcontextprotocol/server >=2.0.0,<2.3.0.
Fix and mitigation status
SDK 1.32.0/server 2.3.0 add an optional safeguard, disabled by default.
Practical next steps
Upgrade AND configure maxToolInputElements for legitimate tool inputs; lower HTTP/parser body limits too. Upgrade alone changes nothing. Older deployments need request limits, potentially at a proxy.
Operating lesson
Limit structural complexity as well as byte size.
Evidence and limits
The input-element limitation and optional fix were public in PRs 2926/2927 on October 2; the October 15 maintainer GHSA subsequently assigned this CVE and described the memory-exhaustion impact. CVE Program API/cvelistV5 returned 404 and NVD returned zero results October 29; published CNA status is unverified. This differs from the existing body/batch-limit advisory.
Sources
- Maintainer original advisory
Primary source ·
- Original public input-limit change
Primary source ·
- Matching SDK1.x backport
Primary source ·