CVE-2026-111768
Description
A flaw was found in the Model Context Protocol (MCP) TypeScript SDK. A remote, unauthenticated attacker can cause a denial of service (DoS) by sending a crafted HTTP request containing an excessive number of array elements or object keys. Because the server does not enforce limits on element validation, processing this payload exhausts system memory and terminates the application process.
Statement
This vulnerability is rated as having Important impact because an unauthenticated remote attacker can trigger complete service unavailability through process termination via a single HTTP request that conforms to default body size limits. Deployments utilizing the stdio transport are unaffected, as the vulnerability is strictly confined to HTTP-based transport mechanisms. In environments exposing HTTP endpoints, the risk is elevated when services expose tools accepting array or dictionary structures without preceding upstream authentication or strict reverse-proxy payload size constraints.
Mitigation
To mitigate this vulnerability without applying code changes, implement one or more of the following operational controls:
1. Restrict transport exposure:
Run Model Context Protocol services using the stdio transport instead of HTTP where feasible. If HTTP endpoints are required, restrict network access to trusted hosts using network firewall rules or access control lists.
2. Enforce request body size limits at the reverse proxy or API gateway:
Place the application behind a reverse proxy (such as NGINX or Apache HTTP Server) or ingress controller and reduce the maximum permitted request body size to the minimum required for expected traffic. For example, in an upstream NGINX configuration:
client_max_body_size 256k;Warning: Modifying reverse proxy or firewall configurations may require reloading or restarting the service (for example, `systemctl reload nginx`), which can cause temporary interruptions to active network sessions. Ensure the chosen payload limit is tested to avoid dropping valid application requests.
--- CME Mitigation Guidance (2026-11-06) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.
The highest-value action is to enforce upper bounds on array elements and object keys in incoming JSON tool-call payloads prior to schema validation in Model Context Protocol HTTP servers: upgrade to @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/server 2.3.0, which tally elements iteratively using a stack-based traversal and reject requests exceeding maxToolInputElements with an InvalidParams error prior to schema validation, closing all 2 injection vectors (crafted HTTP tools/call request containing excessive array elements, crafted HTTP tools/call request containing excessive object keys). Until patched, this is only a concern on Model Context Protocol TypeScript servers exposed over HTTP transports registering tools that accept array or object structures — stdio-only server deployments are unaffected — so Run services over stdio transport where feasible, restrict HTTP endpoint access to trusted hosts, require preceding authentication, and enforce reduced request body size limits at reverse proxies or API gateways. As a compensating measure, configure systemd WatchdogSec and Restart to automatically detect heap exhaustion crashes and restart the service to restore availability. These controls limit blast radius and contain exploitation, but they do not fix the underlying unbounded input validation memory exhaustion defect — apply the upstream patch to fully remediate.
Highest-impact CME: CME-1311 Input Size and Quantity Bounds Enforcement (high)
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.5 | N/A | 7.5 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | None | N/A | None |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | None | N/A | None |
| Integrity Impact | None | N/A | None |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
cve.org: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Understanding the Weakness (CWE)
Availability
Technical Impact: DoS: Resource Consumption (CPU); DoS: Resource Consumption (Memory); DoS: Resource Consumption (Other)
When allocating resources without limits, an attacker could prevent other systems, applications, or processes from accessing the same type of resource. It can be easy for an attacker to consume many resources by rapidly making many requests or causing larger resources to be used than is needed.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.