Marc Newlin, seit sieben Jahren auf die MouseJack-Schwachstelle aufmerksam, hat Informationen über eine ähnliche Schwachstelle (CVE-2023-45866) veröffentlicht, die Bluetooth-Stacks von Android, Linux, macOS und iOS betrifft und es ermöglicht, Tasteneingaben durch Simulation der Aktivität eines über Bluetooth verbundenen Eingabegeräts zu ersetzen. Mit Zugriff auf die Tastatur kann der Angreifer Aktionen wie das Ausführen von Befehlen im System, das Installieren von Anwendungen und das Weiterleiten von Nachrichten durchführen.
Die Schwachstelle entsteht, weil die Host-HID (Human Interface Device)-Treiber für Bluetooth-Geräte einen Modus haben, der es einem entfernten Peripheriegerät ermöglicht, verschlüsselte Verbindungen ohne Authentifizierung zu erstellen und herzustellen. Unter anderem können sich auf diese Weise verbundene Geräte Tastaturmeldungen übertragen, und der HID-Stack verarbeitet diese, was einen Angriff auf entfernte HID-Meldungsersetzungen ermöglicht, der ohne Benutzerintervention durchgeführt wird. Der Angriff kann erfolgen, während sich der Angreifer bis zu 100 Meter von dem Opfer entfernt aufhält.
Der Mechanismus zur Kopplung von Geräten ohne Authentifizierung ist in der Bluetooth-Spezifikation definiert und erlaubt es, je nach Konfiguration des Bluetooth-Stacks ein Gerät ohne Bestätigung des Benutzers zu koppeln. In Linux muss der Bluetooth-Adapter beim Einsatz des BlueZ-Stacks im Entdeckungs- und Verbindungsmodus sein. In Android genügt es, die Unterstützung für Bluetooth zu aktivieren. In iOS und macOS muss Bluetooth eingeschaltet und eine drahtlose Tastatur angeschlossen sein, um einen Angriff durchzuführen.
Die Möglichkeit zur Eingabeverfälschung wurde in Ubuntu 18.04, 20.04, 22.04 und 23.10 mit dem auf dem Bluez-Paket basierenden Bluetooth-Stack demonstriert. ChromeOS ist nicht anfällig für die Schwachstelle, da die Bluetooth-Stack-Einstellungen keine Verbindungen ohne Authentifizierung zulassen. In Android betrifft die Schwachstelle Geräte mit Plattformversionen von 4.2.2 bis 14. In macOS wurde die Schwachstelle auf einem MacBook Pro 2022 mit CPU Apple M2 und macOS 13.3.3 sowie einem MacBook Air 2017 mit CPU Intel und macOS 12.6.7 demonstriert. In iOS wurde die Schwachstelle auf einem iPhone SE mit iOS 16.6 nachgewiesen. Das Aktivieren des Lockdown-Modus schützt nicht vor Angriffen auf macOS und iOS.
In Linux wurde die Schwachstelle im Bluez-Code durch das Setzen der Einstellung „ClassicBondedOnly“ auf „true“ behoben, wodurch der sichere Modus aktiviert wird, der nur Verbindungen nach der Kopplung zulässt. Zuvor war der Wert auf „false“ gesetzt, was zu einer verringerten Sicherheit führte, um Kompatibilitätsprobleme mit einigen Eingabegeräten zu lösen.
Im Fluoride-Bluetooth-Stack, der in den neuesten Android-Versionen verwendet wird, wurde die Schwachstelle durch die zwingende Anwendung von Authentifizierung für alle verschlüsselten Verbindungen behoben. Die Korrekturen für Android wurden nur für die Versionen 11-14 erstellt. Für Pixel-Geräte wurde die Schwachstelle im Dezember-Firmware-Update behoben. Für Android-Versionen von 4.2.2 bis 10 bleibt die Schwachstelle ungepatcht.
Allikas: opennet.ru
