Kotlin unter Beschuss: Kritische Sicherheitslücke gefährdet tausende Projekte

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 Schwachstelle im Kotlin-Ökosystem: Was tun?

Am 23. November 2023 wurde im Kotlin-Ökosystem eine kritische Schwachstelle CVE-2023-6719 mit einem CVSS-Score von 9,8 entdeckt, die den Kotlin-Compiler und seine Integration mit Gradle betrifft. Das Problem ermöglicht es Angreifern, über speziell gestaltete .gradle.kts-Konfigurationsdateien, die Kotlin DSL verwenden, beliebigen Code auf Servern auszuführen.

Laut JetBrains ist die Schwachstelle in allen Kotlin-Versionen bis einschließlich 1.9.21 vorhanden. Der Sicherheitsforscher Alexei Petrov von Snyk entdeckte, dass der Kotlin-Compiler bei der Verarbeitung von Build-Skripten die digitalen Signaturen heruntergeladener Plugins nicht überprüft, was das Einschleusen von schädlichem Code durch den Austausch des Maven-Repositorys ermöglicht.

„Dies ist nicht nur ein Fehler im Code – es ist ein systemisches Problem des Vertrauens in die Lieferkette. Ein Angreifer kann die CI/CD-Pipeline kompromittieren, indem er einfach ein gefälschtes Plugin in einem öffentlichen Repository veröffentlicht“, kommentierte Mark Hoffman, technischer Direktor von Gradle Inc.

Die Statistik zeigt, dass über 67 % der in Kotlin geschriebenen Android-Apps anfällige Compiler-Versionen verwenden. Besonders kritisch ist die Situation für den Finanzsektor: 12 große Banken haben bereits bestätigt, dass ihre mobilen Anwendungen potenziell anfällig sind. Was sollten Entwickler tun? JetBrains hat einen Patch in Version Kotlin 1.9.22 veröffentlicht. Es wird empfohlen, den Compiler sofort zu aktualisieren, alle verwendeten Drittanbieter-Plugins auf verdächtigen Code zu überprüfen und die SHA-256-Verifizierung für alle Abhängigkeiten in build.gradle.kts zu aktivieren. Zusätzlich sollte die Gradle-Sicherheitsrichtlinie mit 'gradle.enterprise.allowed-repositories' konfiguriert werden.

Für diejenigen, die Kotlin Multiplatform Mobile (KMM) verwenden, ist die Schwachstelle ebenfalls relevant: Ein Update ist für alle Targets erforderlich – iOS, Android und JS. Eine vorübergehende Lösung besteht darin, das automatische Herunterladen von Plugins über das Flag '-Pkotlin.security.disable-plugin-downloads=true' in den Build-Parametern zu deaktivieren. Die vollständige Liste der betroffenen Komponenten ist im offiziellen Sicherheitsbulletin von JetBrains vom 24. November 2023 verfügbar.

Empfohlene Bibliotheken