CVE-2026-53937 in Kotlin SDK
요약
\~에 의해 VulDB • 2026. 09. 09.
MCP Kotlin SDK는 Model Context Protocol을 위한 Kotlin Multiplatform 소프트웨어 개발 키트입니다. 버전 0.7.0부터 0.12.0까지, `kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt`의 `ReadBuffer.append` 메서드는 stdio 트랜스포트로부터 수신된 모든 바이트 청크를 크기 제한 없이 `kotlinx.io.Buffer`에 기록합니다. 프레임은 `\n`(0x0a) 바이트가 감지될 때만 해당 버퍼에서 추출됩니다. 개행 문자(newline)를 전혀 보내지 않고 바이트를 스트리밍하는 피어는 JVM(또는 호스트 프로세스)이 OOM(OOM-killed)으로 종료될 때까지 내부 버퍼가 무한정 증가하도록 만듭니다. 이 누수는 `StdioServerTransport` 및 `StdioClientTransport`에 의해 증폭되는데, 이들은 모두 raw 청크를 `kotlinx.coroutines.channels.Channel<ByteArray>(Channel.UNLIMITED)`을 통해 큐에 저장하고 후압(backpressure)이나 크기 제한 없이 `readBuffer.append(chunk)`를 호출합니다. 이는 SDK stdio 서버의 stdin이 신뢰할 수 없는 또는 공격자가 제어하는 프로듀서(예: MCP 서버를 하위 프로세스로 exec하여 네트워크 피어로부터 수신한 바이트를 파이프하는 호스트 프로그램, 또는 HTTP 엔드포인트에서 바이트를 프록시하여 stdio 트랜스포트로 전달하는 사이카드 래퍼)에 의해 공급될 때 발생하는 원격-미인증 Denial of Service(DoS) 취약점입니다. 버전 0.13.0은 이 문제를 수정합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.