Description
MCP Kotlin SDK through 0.15.0 contains an uncontrolled memory allocation vulnerability that allows remote clients to exhaust server memory because Application.mcpWebSocket installs Ktor WebSockets without a maxFrameSize limit. Attackers can send small frame headers declaring payloads near 2 GiB over one or a few connections, forcing huge heap allocations and causing denial of service.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| modelcontextprotocol | kotlin-sdk | ≤ 0.15.0 | — |
References
- https://hackmd.io/@haind/mcp-kotlin-sdk-websocket-frame-allocation-dos third-party-advisory
- https://github.com/modelcontextprotocol/kotlin-sdk/blob/0.15.0/kotlin-sdk-server/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/server/WebSocketMcpKtorServerExtensions.kt#L41-L63 technical-description
- https://github.com/modelcontextprotocol/kotlin-sdk/blob/0.15.0/kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/WebSocketMcpTransport.kt#L60-L85 technical-description
- https://github.com/modelcontextprotocol/kotlin-sdk product
- VulnCheck Advisory: MCP Kotlin SDK through 0.15.0 Memory Exhaustion via Application.mcpWebSocket third-party-advisory