CVE-2026-111768
Model Context Protocol TypeScript SDK: One HTTP request within the default size limit could exhaust server memory during validation
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 1.3.0 until 1.32.0 in @modelcontextprotocol/sdk and from 2.0.0 until 2.3.0 in @modelcontextprotocol/server, HTTP servers did not enforce a limit on the number of array elements and object keys validated in one request. The affected surface is validation of HTTP requests containing arrays or object keys. The trigger is an array-element or object-key validation workload large enough to exhaust memory while remaining within the request size limit. A single request within the default 4 MiB limit can terminate the process with JavaScript heap exhaustion. No credentials are required unless the application authenticates before SDK processing. Tools accepting arrays or records carry the greatest risk. stdio-only servers do not expose the HTTP request path. Upgrading alone does not enable the new validation bound. Operators must configure both a tool-input element bound and an appropriate request body size limit. This issue is fixed in @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/server 2.3.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Model Context Protocol TypeScript SDK: One HTTP request within the default size limit could exhaust server memory during validation
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 1.3.0 until 1.32.0 in @modelcontextprotocol/sdk and from 2.0.0 until 2.3.0 in @modelcontextprotocol/server, HTTP servers did not enforce a limit on the number of array elements and object keys validated in one request. The affected surface is validation of HTTP requests containing arrays or object keys. The trigger is an array-element or object-key validation workload large enough to exhaust memory while remaining within the request size limit. A single request within the default 4 MiB limit can terminate the process with JavaScript heap exhaustion. No credentials are required unless the application authenticates before SDK processing. Tools accepting arrays or records carry the greatest risk. stdio-only servers do not expose the HTTP request path. Upgrading alone does not enable the new validation bound. Operators must configure both a tool-input element bound and an appropriate request body size limit. This issue is fixed in @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/server 2.3.0.
- Record
CVE-2026-111768- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-05
EUVDEUVD-2026-117803
7.5
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 1.3.0 until 1.32.0 in @modelcontextprotocol/sdk and from 2.0.0 until 2.3.0 in @modelcontextprotocol/server, HTTP servers did not enforce a limit on the number of array elements and object keys validated in one request. The affected surface is validation of HTTP requests containing arrays or object keys. The trigger is an array-element or object-key validation workload large enough to exhaust memory while remaining within the request size limit. A single request within the default 4 MiB limit can terminate the process with JavaScript heap exhaustion. No credentials are required unless the application authenticates before SDK processing. Tools accepting arrays or records carry the greatest risk. stdio-only servers do not expose the HTTP request path. Upgrading alone does not enable the new validation bound. Operators must configure both a tool-input element bound and an appropriate request body size limit. This issue is fixed in @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/server 2.3.0.
- Record
EUVD-2026-117803- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-05
GitHub AdvisoriesGHSA-46jr-4wx8-v453
7.5
MCP TypeScript SDK: One HTTP request within the default size limit could exhaust server memory during validation
Summary
In affected versions, servers put no limit on how many array elements and object keys they validated in one request. One HTTP request within the default 4 MiB size limit could exhaust the server's memory, and the process aborted with JavaScript heap out of memory.
No credentials are needed, unless you authenticate requests before they reach the SDK.
Am I affected?
Yes, if clients you do not fully trust can reach your server over HTTP. The risk is highest for McpServer tools whose input contains an array or a record. stdio-only servers are not affected.
Affected versions:
@modelcontextprotocol/sdk1.3.0 through 1.31.0@modelcontextprotocol/server2.0.0 through 2.2.0
Fix
Upgrade to:
- 1.x:
@modelcontextprotocol/sdk1.32.0 or later - 2.x:
@modelcontextprotocol/server2.3.0 or later
Upgrading alone changes nothing. The patched versions add an McpServer option, maxToolInputElements, that is off by default. Make both of these changes:
- Set
maxToolInputElementsjust above the largest input your tools need, for examplenew McpServer(info, { maxToolInputElements: 10_000 }). It counts array elements and object keys in a call's arguments. A call over the limit gets anisError: trueresult. - Lower the request size limit to what your tools need. The option covers tool arguments only, and the size limit covers everything else. Set
maxRequestBodySizeon the transport orcreateMcpHandler(). If you parse the body yourself, for example withexpress.json()or Fastify, set that parser's limit.
If you cannot upgrade yet, make the second change. maxRequestBodySize needs @modelcontextprotocol/sdk 1.30.1 or @modelcontextprotocol/server 2.1.0. Below that, use a reverse proxy.
- Record
GHSA-46jr-4wx8-v453- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
NVD
7.5
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 1.3.0 until 1.32.0 in @modelcontextprotocol/sdk and from 2.0.0 until 2.3.0 in @modelcontextprotocol/server, HTTP servers did not enforce a limit on the number of array elements and object keys validated in one request. The affected surface is validation of HTTP requests containing arrays or object keys. The trigger is an array-element or object-key validation workload large enough to exhaust memory while remaining within the request size limit. A single request within the default 4 MiB limit can terminate the process with JavaScript heap exhaustion. No credentials are required unless the application authenticates before SDK processing. Tools accepting arrays or records carry the greatest risk. stdio-only servers do not expose the HTTP request path. Upgrading alone does not enable the new validation bound. Operators must configure both a tool-input element bound and an appropriate request body size limit. This issue is fixed in @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/server 2.3.0.
- Record
CVE-2026-111768- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-05
OSV
7.5
Model Context Protocol TypeScript SDK: One HTTP request within the default size limit could exhaust server memory during validation
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. From 1.3.0 until 1.32.0 in @modelcontextprotocol/sdk and from 2.0.0 until 2.3.0 in @modelcontextprotocol/server, HTTP servers did not enforce a limit on the number of array elements and object keys validated in one request. The affected surface is validation of HTTP requests containing arrays or object keys. The trigger is an array-element or object-key validation workload large enough to exhaust memory while remaining within the request size limit. A single request within the default 4 MiB limit can terminate the process with JavaScript heap exhaustion. No credentials are required unless the application authenticates before SDK processing. Tools accepting arrays or records carry the greatest risk. stdio-only servers do not expose the HTTP request path. Upgrading alone does not enable the new validation bound. Operators must configure both a tool-input element bound and an appropriate request body size limit. This issue is fixed in @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/server 2.3.0.
- Record
CVE-2026-111768- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-07
OSVGHSA-46jr-4wx8-v453
7.5
MCP TypeScript SDK: One HTTP request within the default size limit could exhaust server memory during validation
Summary
In affected versions, servers put no limit on how many array elements and object keys they validated in one request. One HTTP request within the default 4 MiB size limit could exhaust the server's memory, and the process aborted with JavaScript heap out of memory.
No credentials are needed, unless you authenticate requests before they reach the SDK.
Am I affected?
Yes, if clients you do not fully trust can reach your server over HTTP. The risk is highest for McpServer tools whose input contains an array or a record. stdio-only servers are not affected.
Affected versions:
@modelcontextprotocol/sdk1.3.0 through 1.31.0@modelcontextprotocol/server2.0.0 through 2.2.0
Fix
Upgrade to:
- 1.x:
@modelcontextprotocol/sdk1.32.0 or later - 2.x:
@modelcontextprotocol/server2.3.0 or later
Upgrading alone changes nothing. The patched versions add an McpServer option, maxToolInputElements, that is off by default. Make both of these changes:
- Set
maxToolInputElementsjust above the largest input your tools need, for examplenew McpServer(info, { maxToolInputElements: 10_000 }). It counts array elements and object keys in a call's arguments. A call over the limit gets anisError: trueresult. - Lower the request size limit to what your tools need. The option covers tool arguments only, and the size limit covers everything else. Set
maxRequestBodySizeon the transport orcreateMcpHandler(). If you parse the body yourself, for example withexpress.json()or Fastify, set that parser's limit.
If you cannot upgrade yet, make the second change. maxRequestBodySize needs @modelcontextprotocol/sdk 1.30.1 or @modelcontextprotocol/server 2.1.0. Below that, use a reverse proxy.
- Record
GHSA-46jr-4wx8-v453- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
Show 9 moreShow less
OSVCLSA-2026-1792574765 No score
TuxCare security update for @modelcontextprotocol/sdk (2 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 2 CVEs. Fixed in 1.30.1-tuxcare.2.
- Record
CLSA-2026-1792574765- Updated
- 2026-11-02
OSVCLSA-2026-1793100011 No score
TuxCare security update for @modelcontextprotocol/sdk (3 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 3 CVEs. Fixed in 1.30.0-tuxcare.2.
- Record
CLSA-2026-1793100011- Updated
- 2026-11-02
OSVCLSA-2026-1793100046 No score
TuxCare security update for @modelcontextprotocol/sdk (2 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 2 CVEs. Fixed in 1.26.0-tuxcare.2.
- Record
CLSA-2026-1793100046- Updated
- 2026-11-02
OSVCLSA-2026-1793102412 No score
TuxCare security update for @modelcontextprotocol/sdk (1 CVE)
TuxCare rebuilt @modelcontextprotocol/sdk to address 1 CVE. Fixed in 1.29.0-tuxcare.3.
- Record
CLSA-2026-1793102412- Updated
- 2026-11-02
OSVCLSA-2026-1793112043 No score
TuxCare security update for @modelcontextprotocol/sdk (4 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 4 CVEs. Fixed in 1.25.2-tuxcare.4.
- Record
CLSA-2026-1793112043- Updated
- 2026-11-02
OSVCLSA-2026-1793112371 No score
TuxCare security update for @modelcontextprotocol/sdk (6 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 6 CVEs. Fixed in 1.13.3-tuxcare.2.
- Record
CLSA-2026-1793112371- Updated
- 2026-11-02
OSVCLSA-2026-1793113170 No score
TuxCare security update for @modelcontextprotocol/sdk (4 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 4 CVEs. Fixed in 1.24.0-tuxcare.4.
- Record
CLSA-2026-1793113170- Updated
- 2026-11-02
OSVCLSA-2026-1793887996 No score
TuxCare security update for @modelcontextprotocol/sdk (3 CVEs)
TuxCare rebuilt @modelcontextprotocol/sdk to address 3 CVEs. Fixed in 1.17.3-tuxcare.4.
- Record
CLSA-2026-1793887996- Updated
- 2026-11-06
OSVROOT-APP-NPM-CVE-2026-111768 No score
CVE-2026-111768 in @modelcontextprotocol/server - Patched by Root
Root has patched CVE-2026-111768 in the @modelcontextprotocol/server package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-111768- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
@modelcontextprotocol/sdknpm |
1.3.0 up to 1.32.0 | 1.32.0 |
@modelcontextprotocol/servernpm |
2.0.0 up to 2.3.0 | 2.3.0 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 2 CVEs |
1.30.1-tuxcare.0 up to 1.30.1-tuxcare.2, plus listed versions 1.30.11.30.1-tuxcare.1 |
1.30.1-tuxcare.2 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 3 CVEs |
1.30.0-tuxcare.0 up to 1.30.0-tuxcare.2, plus listed versions 1.30.01.30.0-tuxcare.1 |
1.30.0-tuxcare.2 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 2 CVEs |
1.26.0-tuxcare.0 up to 1.26.0-tuxcare.2, plus listed versions 1.26.01.26.0-tuxcare.1 |
1.26.0-tuxcare.2 |
@modelcontextprotocol/sdkTuxCare:npm |
1.29.0-tuxcare.0 up to 1.29.0-tuxcare.3, plus listed versions 1.29.01.29.0-tuxcare.11.29.0-tuxcare.2 |
1.29.0-tuxcare.3 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 4 CVEs |
1.25.2-tuxcare.0 up to 1.25.2-tuxcare.4, plus listed versions 1.25.21.25.2-tuxcare.11.25.2-tuxcare.21.25.2-tuxcare.3 |
1.25.2-tuxcare.4 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 6 CVEs |
1.13.3-tuxcare.0 up to 1.13.3-tuxcare.2, plus listed versions 1.13.31.13.3-tuxcare.1 |
1.13.3-tuxcare.2 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 4 CVEs |
1.24.0-tuxcare.0 up to 1.24.0-tuxcare.4, plus listed versions 1.24.01.24.0-tuxcare.11.24.0-tuxcare.21.24.0-tuxcare.3 |
1.24.0-tuxcare.4 |
@modelcontextprotocol/sdkTuxCare:npm From an advisory covering 3 CVEs |
1.17.3-tuxcare.0 up to 1.17.3-tuxcare.4, plus listed versions 1.17.31.17.3-tuxcare.11.17.3-tuxcare.21.17.3-tuxcare.3 |
1.17.3-tuxcare.4 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
@modelcontextprotocol/serverRoot:npm |
before 2.0.0-aikido.1 | 2.0.0-aikido.12.0.0-aikido.2 |
@modelcontextprotocol/sdkRoot:npm |
before 1.30.0-aikido.2 | 1.30.0-aikido.21.31.0-aikido.11.29.0-aikido.21.26.0-aikido.31.26.0-aikido.4 |
@rootio/modelcontextprotocol__serverRoot:npm |
before 2.0.0-root.io.1 | 2.0.0-root.io.12.0.0-root.io.2 |
@rootio/modelcontextprotocol__sdkRoot:npm |
before 1.30.0-root.io.2 | 1.30.0-root.io.21.31.0-root.io.11.29.0-root.io.21.26.0-root.io.31.26.0-root.io.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | OSV | |
| references | OSV | |
| affected | NVD | |
| aliases, products | EUVD | |
| description, facts, products, references, severity, title | CVE List | |
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-111768 is a high vulnerability (CVSS 7.5) in @modelcontextprotocol Sdk, published October 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.60%, the 48th percentile. Fixed in @modelcontextprotocol/sdk 1.32.0.
References
github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-46jr-4wx8-v453
github.com/modelcontextprotocol/typescript-sdk/pull/2926
github.com/modelcontextprotocol/typescript-sdk/pull/2927
github.com/modelcontextprotocol/typescript-sdk/commit/6d8dbc6cb590edf766fcb66b636ca6b654e99c37
github.com/modelcontextprotocol/typescript-sdk/commit/fd26801b3b387742fe24a90ed4b275dd6072209f
github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.32.0
Show 5 moreShow less
github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/[email protected]
github.com/advisories/GHSA-46jr-4wx8-v453
github.com/CVEProject/cvelistV5/tree/main/cves/2026/111xxx/CVE-2026-111768.json
nvd.nist.gov/vuln/detail/CVE-2026-111768
github.com/modelcontextprotocol/typescript-sdk