Марк Ньюлін (Marc Newlin), що сім років тому виявив вразливість MouseJack, розкрив відомості про схожу вразливість (CVE-2023-45866), що зачіпає Bluetooth-стеки. Android, Linux, macOS і iOS, і дозволяє здійснити встановлення натискання клавіш через симуляцію активності пристрою введення, підключеного через Bluetooth. Маючи доступ до клавіатурного введення, атакуючий може виконати такі дії, як запуск команд у системі, встановлення програм та перенаправлення повідомлень.
Уразливість викликана тим, що хостові HID (Human Interface Device) драйвери для Bluetooth-пристроїв мають режим, що дозволяє дистанційному периферійному пристрою створювати та встановлювати шифровані з'єднання без автентифікації. Серед іншого, пристрої, що підключилися таким чином, можуть передавати клавіатурні повідомлення і HID-стек їх обробить, що дозволяє організувати атаку по віддаленій підстановці HID-повідомлень, що проводиться без участі користувача. Атака може бути проведена під час перебування зловмисника на відстані до 100 метрів від жертви.
Механізм сполучення пристроїв без автентифікації визначений у специфікації Bluetooth та залежно від налаштувань Bluetooth-стека дозволяє підключити пристрій без підтвердження від користувача. У Linux При використанні Bluetooth-стека BlueZ для прихованого сполучення Bluetooth-адаптер повинен перебувати в режимі виявлення та підключення. У Android досить просто увімкнення підтримки Bluetooth. В iOS та macOS Для здійснення атаки повинен бути увімкнений Bluetooth і приєднана бездротова клавіатура.
Можливість підстановки введення продемонстрована в Ubuntu 18.04, 20.04, 22.04 та 23.10 з Bluetooth-стеком на базі пакету Bluez. ChromeOS вразливості не схильний, оскільки налаштування Bluetooth-стека в ньому не допускають з'єднання без автентифікації. У Android вразливість зачіпає пристрої з версіями платформи від 4.2.2 до 14. macOS вразливість продемонстрована в MacBook Pro 2022 з CPU Apple M2 та macOS 13.3.3 та MacBook Air 2017 з CPU Intel та macOS 12.6.7. В iOS вразливість продемонстрована в iPhone SE із iOS 16.6. Увімкнення режиму Lockdown не захищає від атаки на macOS та iOS.
В Linux уразливість усунена в кодовій базі Bluez через виставлення налаштування «ClassicBondedOnly» у значення «true», що включає безпечний режим, що дозволяє установку з'єднань тільки після сполучення. Раніше було виставлено значення "false", яке ціною зниження безпеки вирішувало проблеми із сумісністю з деякими пристроями введення.
У Bluetooth-стеку Fluoride, який використовується в останніх випусках Android, уразливість усунена через обов'язкове застосування аутентифікації для всіх шифрованих з'єднань Виправлення для Android сформовані лише для гілок 11-14. Для пристроїв Pixel уразливість усунена у грудневому оновленні прошивки. Для випусків Android з 4.2.2 до 10 вразливість залишається невиправленою.
Джерело: opennet.ru
