MCP Kotlin SDK CVE-2026-53937
MEDIUMSeverity by source
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Stdio attack vector is local by design; PR:N because in proxy-forwarding deployments no host credentials are needed; pure availability impact only.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
3DescriptionCVE.org
MCP Kotlin SDK is the Kotlin Multiplatform software development kit for the Model Context Protocol. In versions 0.7.0 through 0.12.0, ReadBuffer.append in kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt writes every chunk of bytes received from the stdio transport into a kotlinx.io.Buffer with no size cap. Frames are extracted from that buffer only when a \n (0x0a) byte is observed. A peer that streams bytes without ever sending a newline causes the internal buffer to grow indefinitely until the JVM (or the surrounding host process) is OOM-killed. The leak is amplified by StdioServerTransport and StdioClientTransport, which both queue raw chunks through a kotlinx.coroutines.channels.Channel<ByteArray>(Channel.UNLIMITED) and then call readBuffer.append(chunk) without backpressure or size guard. This is a remote-pre-auth denial of service whenever an SDK stdio server's stdin is fed by an untrusted or attacker-controlled producer (for example: a host program that exec's the MCP server as a subprocess and pipes through bytes received from a network peer, or a sidecar wrapper that proxies bytes from an HTTP endpoint to the stdio transport). Version 0.13.0 fixes the issue.
AnalysisAI
Unbounded heap growth in MCP Kotlin SDK versions 0.7.0-0.12.0 allows an attacker-controlled byte-stream producer to OOM-kill the hosting JVM process via the stdio transport. The ReadBuffer.append() method writes all incoming data into a kotlinx.io.Buffer with no size cap, and frame extraction only triggers on newline arrival - a peer that never sends a newline causes indefinite accumulation. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires the ability to feed an arbitrary byte stream to the stdin of a process using MCP Kotlin SDK 0.7.0-0.12.0 with StdioServerTransport or StdioClientTransport. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The provided CVSS 6.2 with AV:L reflects direct stdio access as the attack surface, which is the conservative and technically correct baseline. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade to MCP Kotlin SDK version 0.13.0, which is confirmed fixed via GitHub release tag https://github.com/modelcontextprotocol/kotlin-sdk/releases/tag/0.13.0 and commit 6e6f80512fb8fcc9f3c031cfd693ccbcf9c4aaab. … Detailed patch versions, workarounds, and compensating controls in full report. |
Threat intelligence, references, and detailed analysis are available after sign-in.
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today