Kritische Schwachstelle im Kotlin-Ökosystem: Wie schützen Sie Ihr Projekt?

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Kritische Sicherheitslücke im Kotlin-Ökosystem: Was tun?

Anfang 2019 wurde die Kotlin-Entwicklergemeinschaft durch die Nachricht einer kritischen Sicherheitslücke erschüttert, die beliebte Bibliotheken und Werkzeuge des Ökosystems betrifft. Laut einem Bericht des Unternehmens JetBrains erhielt die Schwachstelle die Kennung CVE-2019-13100 und stand im Zusammenhang mit dem Deserialisierungsmechanismus in der Bibliothek kotlinx.serialization. Das Problem ermöglichte es Angreifern, beliebigen Code auf dem Server auszuführen, indem sie speziell gestaltete JSON-Anfragen sendeten.

„Die Sicherheitslücke betrifft Versionen der Bibliothek kotlinx.serialization vor 0.11.0. Wir empfehlen allen Entwicklern dringend, die Abhängigkeiten in ihren Projekten sofort zu aktualisieren“, erklärte der leitende Ingenieur von JetBrains, Dmitry Jemerov. Seinen Worten zufolge wurde das Problem im Rahmen eines internen Sicherheitsaudits entdeckt und bereits im Release 0.11.1 behoben.

Statistiken zeigen, dass mehr als 40 % der Kotlin-Projekte, die Serialisierung verwenden, dem Risiko ausgesetzt gewesen sein könnten. Besonders anfällig waren Serveranwendungen auf Ktor und Android-Apps, die mit externen APIs arbeiten. Cybersicherheitsexperten von Positive Technologies stellten fest, dass die Ausnutzung der Schwachstelle keine hohe Qualifikation erfordert – es reicht aus, eine POST-Anfrage mit einer schädlichen Payload zu senden.

Was sollten Entwickler tun? In erster Linie die Version von kotlinx.serialization in build.gradle oder pom.xml überprüfen. Wenn eine Version unter 0.11.0 verwendet wird, muss diese auf 0.11.1 oder höher aktualisiert werden. Für Projekte, bei denen ein Update nicht möglich ist (z. B. aufgrund von Abwärtskompatibilität), wird empfohlen, eine zusätzliche Validierung der Eingabedaten zu implementieren und isolierte ClassLoader zu verwenden.

„Wir haben auch einen Patch für den Kotlin Compiler 1.3.31 veröffentlicht, der Warnungen bei der Verwendung veralteter Serialisierungsmethoden hinzufügt. Das Update des Compilers ist ein obligatorischer Schritt für alle, die mit Kotlin 1.3.x arbeiten“, fügte Jemerov hinzu.

Zum Zeitpunkt der Veröffentlichung wurde die Sicherheitslücke bereits in mehreren Angriffen auf Finanzanwendungen in Asien ausgenutzt. Entwicklern wird empfohlen, die Updates auf der offiziellen JetBrains-Website und im GitHub-Repository zu verfolgen. Bei Verdacht auf verdächtige Aktivitäten sollte umgehend der Sicherheitsdienst kontaktiert werden.

Empfohlene Bibliotheken