Marc Newlin, ktorý odhalil zraniteľnosť MouseJack pred siedmimi rokmi, zverejnil informácie o podobnej zraniteľnosti (CVE-2023-45866), ktorá sa týka Bluetooth stackov Android, Linux, macOS a iOS. Táto zraniteľnosť umožňuje podvodné simulovanie stlačení kláves, vzhľadom na aktivitu vstupného zariadenia pripojeného cez Bluetooth. Získaním prístupu k vstupu z klávesnice môže útočník vykonávať rôzne akcie, ako je spúšťanie príkazov v systéme, inštalácia aplikácií a presmerovanie správ.
Zraniteľnosť je spôsobená tým, že hostiteľské ovládače HID (Human Interface Device) pre Bluetooth zariadenia majú režim, ktorý umožňuje vzdialenému periférnemu zariadeniu vytvárať a ustanovovať šifrované spojenia bez autentifikácie. Takéto pripojené zariadenia môžu odosielať správy z klávesnice, ktoré HID stack spracováva, čo otvára možnosti útoku prostredníctvom podvodu s HID správami, vykonávaného bez účasti používateľa. Tento útok môže byť uskutočnený až do vzdialenosti 100 metrov od obete.
Mechanizmus párovania zariadení bez autentifikácie je definovaný v špecifikácii Bluetooth a v závislosti od nastavení Bluetooth stacku umožňuje pripojenie zariadenia bez potvrdenia od používateľa. Napríklad v Linuxe, pri použití Bluetooth stacku BlueZ, je pre skryté párovanie Bluetooth adaptéra potrebné, aby bol v režime zistenia a pripojenia. V Android stačí aktivovať podporu Bluetooth. V iOS a macOS musí byť pre úspešný útok zapnutý Bluetooth a navyše pripojená bezdrôtová klávesnica.
Možnosť podvodného zadávania bola demonštrovaná na Ubuntu 18.04, 20.04, 22.04 a 23.10 so Bluetooth stackom na báze balíka BlueZ. ChromeOS nie je zraniteľný, pretože jeho nastavenia Bluetooth stacku neumožňujú pripojenia bez autentifikácie. V Android zraniteľnosť postihuje zariadenia s verziami platformy od 4.2.2 do 14. Na macOS bola zraniteľnosť demonštrovaná na MacBook Pro 2022 s procesorom Apple M2 a macOS 13.3.3, ako aj na MacBook Air 2017 s procesorom Intel a macOS 12.6.7. V iOS bola zraniteľnosť demonštrovaná na iPhone SE s iOS 16.6. Zapnutie režimu Lockdown nezabezpečuje ochranu pred útokom na macOS a iOS.
Na Linuxe bola zraniteľnosť odstránená V kódovej báze Bluez nastavením parametra „ClassicBondedOnly“ na hodnotu „true“ sa aktivuje bezpečný režim, ktorý povoľuje nadviazanie spojení iba po spárovaní. Predtým bola nastavená hodnota „false“, čo znižovalo úroveň bezpečnosti kvôli kompatibilite s niektorými vstupnými zariadeniami.
V Bluetooth stacku Fluoride, ktorý sa používa v najnovších verziách Androidu, zraniteľnosť bola odstránená poviným používaním autentifikácie pre všetky šifrované pripojenia. Opravy pre Android boli vydané len pre vetvy 11-14. Pre zariadenia Pixel bola zraniteľnosť odstránená v decembrovej aktualizácii firmvéru. Pre verzie Androidu od 4.2.2 do 10 zostáva zraniteľnosť neopravená.
Zdroj: linux.org.ru
