Vulnerability in Bluetooth stacks for Linux, macOS, Android, and iOS

Marc Newlin, który zidentyfikował lukę MouseJack siedem lat temu ujawnił informacje o podobnej luce (CVE-2023-45866), dotyczącej stosów Bluetooth w Androidzie, Linuksie, macOS i iOS. Ta luka pozwala na sesję zamiany wcięć klawiszy poprzez symulację aktywności urządzenia wejściowego podłączonego przez Bluetooth. Uzyskując dostęp do wprowadzania z klawiatury, napastnik może wykonywać różne działania, takie jak uruchamianie poleceń w systemie, instalowanie aplikacji oraz przekierowywanie wiadomości.

Luka jest spowodowana tym, że sterowniki hosta HID (Human Interface Device) dla urządzeń Bluetooth mają tryb, który pozwala zdalnemu urządzeniu peryferyjnemu tworzyć i ustanawiać szyfrowane połączenia bez uwierzytelnienia. Takie podłączone urządzenia mogą przesyłać wiadomości klawiaturowe, a stos HID je przetwarza, co otwiera możliwość ataku na podmienianie wiadomości HID, przeprowadzanego bez udziału użytkownika. Atak ten może być przeprowadzony z odległości do 100 metrów od ofiary.

Mechanizm parowania urządzeń bez uwierzytelnienia jest zdefiniowany w specyfikacji Bluetooth i, w zależności od ustawień stosu Bluetooth, umożliwia podłączenie urządzenia bez potwierdzenia przez użytkownika. Na przykład w Linuksie, przy użyciu stosu Bluetooth BlueZ, aby przeprowadzić ukryte parowanie, adapter Bluetooth musi być w trybie wykrywalności i połączenia. W Androidzie wystarczy włączyć funkcję Bluetooth. W iOS i macOS, aby przeprowadzić udany atak, Bluetooth musi być włączony, a także musi być podłączona bezprzewodowa klawiatura.

Możliwość podmieniania wejścia została zademonstrowana w Ubuntu 18.04, 20.04, 22.04 i 23.10 z stosami Bluetooth opartymi na pakiecie BlueZ. ChromeOS nie jest podatny na tę lukę, ponieważ jego ustawienia stosu Bluetooth nie pozwalają na połączenia bez uwierzytelnienia. W Androidzie luka dotyczy urządzeń z wersjami platformy od 4.2.2 do 14. W macOS luka została zademonstrowana na MacBooku Pro 2022 z procesorem Apple M2 i macOS 13.3.3, a także na MacBooku Air 2017 z procesorem Intel i macOS 12.6.7. W iOS luka została zademonstrowana na iPhone SE z iOS 16.6. Włączenie trybu Lockdown nie zapewnia ochrony przed atakiem w macOS i iOS.

W Linuksie luka została naprawiona W bazie kodu Bluez poprzez ustawienie opcji „ClassicBondedOnly” na wartość „true”, włączający tryb zabezpieczeń, który pozwala na nawiązywanie połączeń tylko po sparowaniu. Wcześniej ustawiona wartość „false” obniżała poziom bezpieczeństwa, aby zapewnić zgodność z niektórymi urządzeniami wejściowymi.

W stosie Bluetooth Fluoride, używanym w najnowszych wersjach Androida, vulnerability has been fixed poprzez obowiązkowe stosowanie uwierzytelniania dla wszystkich szyfrowanych połączeń. Łatki dla Androida zostały wydane tylko dla gałęzi 11-14. Dla urządzeń Pixel luka została usunięta w grudniowej aktualizacji oprogramowania. Wersje Androida od 4.2.2 do 10 pozostają z nieusuniętą luką.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster