Marc Newlin, som oppdaget MouseJack-sårbarheten for syv år siden, har avslørt en lignende sårbarhet (CVE-2023-45866) som påvirker Bluetooth-stakker. Android, Linux, macOS og iOS, og muliggjør erstatning av tastetrykk ved å simulere aktiviteten til en Bluetooth-tilkoblet inndataenhet. Med tilgang til tastaturinndata kan en angriper utføre handlinger som å kjøre kommandoer i systemet, installere apper og videresende meldinger.
Sårbarheten er forårsaket av det faktum at verts-HID (Human Interface Device)-drivere for Bluetooth-enheter har en modus som lar en ekstern perifer enhet opprette og etablere krypterte tilkoblinger uten autentisering. Blant annet kan enheter koblet til på denne måten overføre tastaturmeldinger og HID-stakken vil behandle dem, noe som lar deg organisere et eksternt HID-meldingssubstitusjonsangrep utført uten brukerintervensjon. Angrepet kan utføres når angriperen befinner seg i en avstand på inntil 100 meter fra offeret.
Mekanismen for å pare enheter uten autentisering er definert i Bluetooth-spesifikasjonen, og avhengig av innstillingene til Bluetooth-stakken, tillater den tilkobling av en enhet uten bekreftelse fra brukeren. Linux Når du bruker BlueZ Bluetooth-stakken for skjult paring, må Bluetooth-adapteren være i oppdagelses- og tilkoblingsmodus. Android Det er nok å bare aktivere Bluetooth-støtte. I iOS og macOS For å utføre et angrep må Bluetooth være aktivert og et trådløst tastatur må være tilkoblet.
Muligheten for substitusjon av input demonstreres i Ubuntu 18.04, 20.04, 22.04 og 23.10 med en Bluetooth-stabel basert på Bluez-pakken. ChromeOS er ikke sårbart, ettersom Bluetooth-stabelinnstillingene ikke tillater tilkoblinger uten autentisering. Android Sårbarheten påvirker enheter med plattformversjoner fra 4.2.2 til 14. macOS Sårbarheten ble demonstrert i 2022 MacBook Pro med Apple M2 CPU og macOS 13.3.3 og MacBook Air 2017 med Intel CPU og macOS 12.6.7. I iOS ble sårbarheten demonstrert i iPhone SE med iOS 16.6. Aktivering av låsemodus beskytter ikke mot angrep på macOS og iOS.
В Linux Sårbarheten ble rettet i Bluez-kodebasen ved å sette innstillingen «ClassicBondedOnly» til «true», som aktiverer en sikker modus som bare tillater tilkoblinger etter paring. Tidligere var innstillingen satt til «false», noe som løste kompatibilitetsproblemer med noen inndataenheter på bekostning av sikkerhet.
I Fluoride Bluetooth-stakken som ble brukt i nyere utgivelser Android, ble sårbarheten adressert ved å kreve autentisering for alle krypterte tilkoblinger. Rettelser for Android Kun dannet for grenene 11–14. For Pixel-enheter ble sårbarheten rettet i fastvareoppdateringen i desember. For utgivelser Android Fra 4.2.2 til 10 forblir sårbarheten uoppdatert.
Kilde: opennet.ru
