← Back to CVE Explorer

CVE-2026-111768

Full vulnerability record from the local CVENow database.

Description

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.

Severity
HIGH
CVSS score
7.5 (v3.1)
Vulnerability status
Received
Source identifier
Published
2026-11-05 22:17:45.457000
Last modified
2026-11-05 22:17:45.457000
View original CVE JSON
{
  "id": "CVE-2026-111768",
  "sourceIdentifier": "[email protected]",
  "published": "2026-11-05T22:17:45.457",
  "lastModified": "2026-11-05T22:17:45.457",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "modelcontextprotocol",
          "product": "typescript-sdk",
          "versions": [
            {
              "version": ">= 1.3.0, < 1.32.0",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "@modelcontextprotocol",
          "product": "server",
          "versions": [
            {
              "version": ">= 2.0.0, < 2.3.0",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "@modelcontextprotocol",
          "product": "sdk",
          "versions": [
            {
              "version": ">= 1.3.0, < 1.32.0",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "baseScore": 7.5,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 3.6
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-770"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/commit/6d8dbc6cb590edf766fcb66b636ca6b654e99c37",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/commit/fd26801b3b387742fe24a90ed4b275dd6072209f",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/pull/2926",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/pull/2927",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.32.0",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/[email protected]",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-46jr-4wx8-v453",
      "source": "[email protected]"
    }
  ]
}