Marc Newlin, koji je otkrio ranjivost MouseJack prije sedam godina, otkrio je informacije o sličnoj ranjivosti (CVE-2023-45866), koja pogađa Bluetooth stackove Androida, Linuxa, macOS-a i iOS-a. Ova ranjivost omogućava zamjenu unosa preko simulacije aktivnosti ulaznog uređaja povezanog putem Bluetooth-a. Kada zlonamjerni korisnik dobije pristup tipkovničkom unosu, može izvoditi razne radnje, poput izvršavanja naredbi u sustavu, instaliranja aplikacija i preusmjeravanja poruka.
Ranjivost je uzrokovana time što host drajveri HID (Human Interface Device) za Bluetooth uređaje imaju način rada koji omogućava udaljenom perifernom uređaju da stvara i uspostavlja enkriptirane veze bez autentifikacije. Takvi povezani uređaji mogu slati poruke s tipkovnice, a HID stack ih obrađuje, što otvara mogućnost za napad zamjene HID poruka koji se može izvesti bez sudjelovanja korisnika. Ovaj napad može se provesti na udaljenosti do 100 metara od žrtve.
Mekanik uparivanja uređaja bez autentifikacije definiran je u Bluetooth specifikaciji i, ovisno o postavkama Bluetooth stacka, omogućuje povezivanje uređaja bez potvrde od korisnika. Na primjer, u Linuxu, kada se koristi Bluetooth stack BlueZ, za skriveno uparivanje Bluetooth adapter mora biti u načinu otkrivanja i povezivanja. Na Androidu je dovoljno omogućiti podršku za Bluetooth. Na iOS-u i macOS-u, za uspješan napad, Bluetooth mora biti uključen, a bežična tipkovnica povezana.
Mogućnost zamjene unosa demonstrirana je na Ubuntu 18.04, 20.04, 22.04 i 23.10 s Bluetooth stackom baziranim na paketu BlueZ. ChromeOS nije ranjiv jer njegove postavke Bluetooth stacka ne dopuštaju veze bez autentifikacije. Na Androidu, ranjivost pogađa uređaje s verzijama platforme od 4.2.2 do 14. Na macOS-u, ranjivost je demonstrirana na MacBook Pro 2022 s Apple M2 procesorom i macOS 13.3.3, kao i na MacBook Air 2017 s Intel procesorom i macOS 12.6.7. Na iOS-u, ranjivost je demonstrirana na iPhone SE s iOS 16.6. Uključivanje načina rada Lockdown ne pruža zaštitu od napada na macOS-u i iOS-u.
U Linuxu, ranjivost , ali je dodavanje komponenti osnovnom sustavu FreeBSD pod licencom GPLv3 u kodnoj bazi Bluez postavljanjem opcije «ClassicBondedOnly» na «true», uključujući sigurnosni način koji dopušta uspostavljanje veze samo nakon uparivanja. Ranije je postavljen «false», što je, radi kompatibilnosti s nekim ulaznim uređajima, smanjilo razinu sigurnosti.
U Bluetooth steku Fluoride, koji se koristio u najnovijim verzijama Androida, ranjivost je otklonjena obveznim zahtjevom za autentifikaciju za sve enkriptirane veze. Ispravci za Android objavljeni su samo za grane 11-14. Za Pixel uređaje, ranjivost je otklonjena u prosinačkom ažuriranju firmvera. Za verzije Androida od 4.2.2 do 10, ranjivost ostaje neotklonjena.
Izvor: linux.org.ru
