# CVE-2026-53937: MCP Kotlin SDK unbounded memory growth in ReadBuffer

Source: https://junglewise.ai/threats/cve-2026-53937-mcp-kotlin-sdk-unbounded-memory-growth-in-readbuffer  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-09. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-53937 · Severity: medium · CVSS 6.2 · Published 2026-09-09

The MCP Kotlin SDK, used to implement the Model Context Protocol in Kotlin applications, contains a memory exhaustion vulnerability in its stdio transport layer. An attacker who can send bytes to the SDK server without including newline characters can cause the internal read buffer to grow indefinitely, consuming all available memory and crashing the process. This is especially dangerous in architectures where the SDK server is spawned as a subprocess by a host application that pipes untrusted network data to it.

Vendors: [Model Context Protocol](https://junglewise.ai/threats/vendors/model-context-protocol).

## Quick answers

**Is CVE-2026-53937 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-53937 being exploited in the wild.

**How severe is CVE-2026-53937?** Medium severity, with a CVSS score of 6.2, published 9 September 2026.

**Which products and versions are affected?** Model Context Protocol Kotlin SDK 0.7.0 through 0.12.0.

**Is there a fix for CVE-2026-53937?** A patch was published on 2026-09-09: Version 0.13.0 fixes the issue Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-53937 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-53937?** Check whether you run Model Context Protocol Kotlin SDK at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability exists in the `ReadBuffer.append()` method in `kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt`, which writes incoming byte chunks into a `kotlinx.io.Buffer` with no maximum size limit. The buffer only extracts complete frames when a newline (0x0a) is encountered; until then, all received bytes accumulate. An attacker can exploit this by sending a continuous stream of data without newlines through the stdio transport, causing unbounded memory allocation. The vulnerability is amplified by `StdioServerTransport` and `StdioClientTransport`, which queue raw chunks through an unbounded coroutine Channel before appending them to the buffer. This is a pre-authentication remote denial of service triggered whenever the SDK server's stdin receives attacker-controlled or untrusted input. Version 0.13.0 addresses this by adding buffer size limits and backpressure mechanisms.

## Affected products

- Model Context Protocol Kotlin SDK 0.7.0 through 0.12.0

## Timeline

- 2026-09-09: disclosed
- 2026-09-09: patched: Version 0.13.0 fixes the issue

## References

- [https://github.com/modelcontextprotocol/kotlin-sdk/blob/6d5bac1/kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt](https://github.com/modelcontextprotocol/kotlin-sdk/blob/6d5bac1/kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt)
- [https://github.com/modelcontextprotocol/kotlin-sdk/commit/6e6f80512fb8fcc9f3c031cfd693ccbcf9c4aaab](https://github.com/modelcontextprotocol/kotlin-sdk/commit/6e6f80512fb8fcc9f3c031cfd693ccbcf9c4aaab)
