
Exploit-PoCs für die Schwachstelle MARMALDE 2 (CVE-2025-67780) in Starlink Dishes
Exploit PoCs für die Sicherheitslücke MARMALDE 2 (CVE-2025-67780) in Starlink-Dishes
Lies meinen vollständigen Blog darüber, wie ich diese Sicherheitslücke gefunden habe und wie du sie nach deinen Wünschen nutzen kannst: https://www.akawlabs.com/blog/starlink-grpc-execution
Ich habe mehrere Proof-of-Concept-Implementierungen entwickelt, die zeigen, dass Starlink-Dishes im lokalen Netzwerk zum Neustart gezwungen werden können. Das Problem resultierte aus unzureichender Authentifizierung und Whitelisting bestimmter gRPC-Befehle, die über die Diagnoseschnittstelle der Dish bereitgestellt wurden.
Nach der verantwortungsvollen Offenlegung gegenüber SpaceX wurde der unauthentifizierte Zugriff auf mehrere Befehle eingeschränkt; jedoch blieb die Neustartfunktion zum Zeitpunkt der Tests zugänglich. Daher kann eine unauthentifizierte Anfrage, die über das lokale Netzwerk gesendet wird, immer noch einen erzwungenen Neustart der Dish auslösen. Wiederholtes Auslösen führt zu einem Denial-of-Service.
Dieses Verhalten wird dadurch verursacht, dass die Dish bestimmte unauthentifizierte Eingaben akzeptiert, sie intern einem Neustartbefehlskennung in der Firmware zuordnet und ohne ordnungsgemäße Autorisierungsprüfungen ausführt.
Dies ist recht trivial durchführbar: Man muss lediglich die korrekten Bytes in einem HTTP-POST-Paket an die Dish senden, die fest auf IP 192.168.100.1 auf ihrem Diagnoseport 9201 codiert ist. Für einen Neustartbefehl lauten diese Bytes '03 ca 3e 00', gesendet als Binärdaten. Die Dish empfängt dies über HTTP und wandelt es in die entsprechende gRPC-Befehls-ID (für Neustart ist das 1001 in ihrer Firmware) um und führt sie aus.