Marc Newlin, ktorý objavil zraniteľnosť MouseJack pred siedmimi rokmi odhalil informácie o podobná zraniteľnosť (CVE-2023-45866), čo ovplyvňuje Bluetooth stacky Android, Linux, macOS a iOS. Táto zraniteľnosť umožňuje falšovanie stlačení kláves simuláciou aktivity 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 vykonávanie systémových príkazov, inštalácia aplikácií a preposielanie správ.
Zraniteľnosť je spôsobená režimom v ovládačoch hostiteľa Bluetooth HID (Human Interface Device), ktorý umožňuje vzdialeným periférnym zariadeniam vytvárať a nadväzovať šifrované pripojenia bez overovania. Tieto pripojené zariadenia môžu prenášať správy z klávesnice, ktoré spracováva zásobník HID, čo otvára možnosť útoku s falošnými správami HID bez zásahu používateľa. Tento útok je možné vykonať až do vzdialenosti 100 metrov od obete.
Mechanizmus párovania zariadení bez overenia je definovaný v špecifikácii Bluetooth a v závislosti od nastavení Bluetooth stacku umožňuje zariadeniu pripojiť sa bez potvrdenia od používateľa. Napríklad v LinuxPri používaní Bluetooth stacku BlueZ musí byť Bluetooth adaptér pre nenápadné párovanie v režime objavovania a pripojenia. Android Stačí povoliť podporu Bluetooth. V systéme iOS a macOS Pre úspešný útok musí byť povolené rozhranie Bluetooth a pripojená bezdrôtová klávesnica.
Možnosť substitúcie vstupov bola demonštrovaná v Ubuntu 18.04, 20.04, 22.04 a 23.10 s Bluetooth stackom založeným na balíku BlueZ. ChromeOS nie je zraniteľný, pretože jeho nastavenia Bluetooth stacku neumožňujú pripojenia bez overenia. Android Zraniteľnosť postihuje zariadenia s verziami platformy od 4.2.2 do 14. macOS Zraniteľnosť bola preukázaná na MacBooku Pro z roku 2022 s procesorom Apple M2 a macOS 13.3.3, ako aj na MacBooku Air 2017 s procesorom Intel a macOS 12.6.7. V systéme iOS bola zraniteľnosť preukázaná na iPhone SE s iOS 16.6. Povolenie režimu uzamknutia neposkytuje ochranu pred útokmi na macOS a iOS.
В Linux zraniteľnosť bol vylúčený V kódovej základni Bluez nastavením parametra „ClassicBondedOnly“ na hodnotu „true“, čo umožňuje zabezpečený režim, ktorý povoľuje pripojenia iba po spárovaní. Predtým bolo toto nastavenie nastavené na hodnotu „false“, čo ohrozovalo bezpečnosť kompatibility s niektorými vstupnými zariadeniami.
V fluoridovom Bluetooth stacku používanom v novších verziách Android, zraniteľnosť bola opravená povinným overovaním všetkých šifrovaných pripojení. Opravy pre Android boli vydané iba pre vetvy 11 – 14. Pre zariadenia Pixel bola táto zraniteľnosť opravená v decembrovej aktualizácii firmvéru. Pre vydania Android Od verzie 4.2.2 do 10 zostáva zraniteľnosť neopravená.
Zdroj: linux.org.ru
