CVE-2026-53937 in Kotlin SDK
Riassunto
di VulDB • 09/09/2026
MCP Kotlin SDK è il kit di sviluppo software (SDK) in Kotlin Multiplatform per il Model Context Protocol. Nelle versioni dalla 0.7.0 alla 0.12.0, `ReadBuffer.append` in `kotlin-sdk-core/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/shared/ReadBuffer.kt` scrive ogni chunk di byte ricevuto dal trasporto stdio in un `kotlinx.io.Buffer` senza alcun limite dimensionale (size cap). I frame vengono estratti da tale buffer solo quando viene rilevato il byte `\n` (0x0a). Un peer che trasmette stream di byte senza inviare mai una newline causa la crescita indefinita del buffer interno fino a provocare l'uccisione per OOM (Out Of Memory) della JVM o del processo host circostante. La perdita è amplificata da `StdioServerTransport` e `StdioClientTransport`, che accodano chunk grezzi tramite un `kotlinx.coroutines.channels.Channel<ByteArray>(Channel.UNLIMITED)` e successivamente chiamano `readBuffer.append(chunk)` senza backpressure né controlli dimensionali (size guard). Si tratta di una denial of service pre-autenticazione remota quando lo stdin di un server stdio dell'SDK è alimentato da un produttore non attendibile o controllato dall'attaccante (ad esempio: un programma host che esegue il server MCP come processo figlio e instrada i byte ricevuti da un peer di rete, oppure un wrapper sidecar che fa proxy dei byte provenienti da un endpoint HTTP verso il trasporto stdio). La versione 0.13.0 risolve la vulnerabilità.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.