← All advisories
CVE-2026-108395highDenial of service2026-10-14

CVE-2026-108395: MCP Java SDK HTTP servers can be crashed with one huge request

The official MCP Java SDK’s Servlet-based HTTP transports read the whole request body into memory with no size limit. One unauthenticated chunked POST can exhaust the Java heap and take the server down.

01.

What it is

GitHub advisory: the Streamable HTTP, Stateless and SSE server transports “buffered the entire incoming request body into memory before parsing it, with no limit on how large that body could be.”

Chunked transfer encoding gets past any Content-Length check, and a single request was enough to cause an OutOfMemoryError.

Authentication, Origin/Host checks or an upstream request-size limit can reject the request before the vulnerable read. This is the Java counterpart of the MCP Python SDK issue CVE-2026-109527.

02.

How to check

  1. NVD lists io.modelcontextprotocol.sdk:mcp 0.8.0 to 0.12.0, and mcp-core 0.13.0 to 0.18.3, 1.0.0 to 1.1.3, and 2.0.0-M1 to 2.0.0 as affected.
  2. Only servers exposing a Servlet-based HTTP transport to unlimited network input are affected.
03.

How to fix

  1. Upgrade mcp-core to 0.18.4, 1.1.4 or 2.0.1, matching your release line. The old mcp artifact (0.8.0 to 0.12.0) has no fixed release, so move to mcp-core.
  2. If you can’t upgrade yet, put a reverse proxy or gateway with a request body limit in front of the server.
mvn dependency:tree | grep modelcontextprotocol
04.

Sources

More advisories for this tool
The weekly email

One email a week. Only what changed.

New advisories, CVEs and fixes for Lovable, Bolt, v0, Replit, Base44 and Cursor apps. No roundups of things you already read.

Free. The list is new, so the first issues go out once there are readers. Unsubscribe from any email in one click. We never sell or share addresses.