Case · DiggingBeagle record

Dense MCP tool arguments can exhaust memory below the HTTP byte cap

A valid-looking MCP request under 4 MiB could exhaust the Node.js heap by forcing validation of too many array entries or object properties. The patched element ceiling remains disabled until configured.

Scope

Network-reachable HTTP MCP tools accepting complex arrays or object records; stdio-only servers are excluded by the advisory.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade B
Remediation
patch available
AI role
AGAINST AI
Basis and provenance

The maintainers report a one-request JavaScript heap exhaustion caused by schema validation of many array elements/object properties within a body below the byte ceiling. Fixed packages provide maxToolInputElements but leave it disabled by default. No production attack frequency is established.

Assessed Oct 17, 2026 using diggingbeagle.assessment/1.

At a glance

Timeline

  1. Oct 15, 2026
    disclosure

    Public disclosure

Claims & evidence

CLM-MCP-TS-OPT-INSDK 1.32.0 and server 2.3.0 add maxToolInputElements, but the limit is not enabled by a package upgrade alone.supported

Basis: reported finding

Link to claim
CLM-MCP-TS-SMALL-DOSThe official advisory documents JavaScript heap exhaustion from one HTTP request below the default 4 MiB request limit.supported

Basis: reported finding

Link to claim

Controls and mitigations

  • Upgrade to supported fixed versions; explicitly configure maxToolInputElements for the application.
  • Set separate HTTP body and batch bounds and stress-test structure complexity and concurrency without using a production service.
  • Upgrade @modelcontextprotocol/sdk to 1.32.0 or @modelcontextprotocol/server to 2.3.0 as applicable, and explicitly enable maxToolInputElements at a limit appropriate to each tool.
  • Retain a separately enforced HTTP body-size limit; counting tool input elements does not bound all protocol parsing or envelope size.

Unknowns and contradictions

  • No known malicious campaign or measured prevalence among MCP deployments.
  • A safe element threshold varies with tool schema, runtime memory and request concurrency.

Sources and citation

Material revision history

  1. Oct 17, 2026 · Published version · first publication · revision 163