Уразливості в драйверах до WiFi-чіпів Broadcom, що дозволяють віддалено атакувати систему

У драйверах для бездротових чіпів Broadcom виявлено чотири уразливості. У найпростішому випадку вразливості можуть використовуватися для віддаленого виклику відмови в обслуговуванні, але не виключаються і сценарії, за яких можуть бути розроблені експлоїти, що дозволяють неавтентифікованому зловмиснику виконати свій код з привілеями ядра Linux через спеціальним оформленням пакетів.

Проблеми були виявлені під час зворотного інжинірингу прошивок Broadcom. Схильні до уразливостей чіпи широко використовуються в ноутбуках, смартфонах та різних споживчих пристроях, від SmartTV до пристроїв інтернету речей. Зокрема, чіпи Broadcom застосовуються у смартфонах таких виробників, як Apple, Samsumg та Huawei. Примітно, що компанія Broadcom була повідомлена про уразливість ще у вересні 2018 року, але на скоординований з виробниками обладнання випуск виправлень знадобилося близько 7 місяців.

Дві вразливості зачіпають внутрішні прошивки і потенційно дозволяють виконати код в оточенні операційної системи, що використовується в чіпах Broadcom, що дозволяє атакувати оточення, що не використовують Linux (наприклад, підтверджено можливість здійснення атаки на пристрої Apple, CVE-2019-8564). Нагадаємо, що деякі Wi-Fi чіпи Broadcom є спеціалізованим процесором (ARM Cortex R4 або M3), на якому виконуються подібність своєї операційної системи з реалізацій свого бездротового стека 802.11 (FullMAC). У таких чіпах драйвер забезпечує взаємодію основної системи із прошивкою Wi-Fi чіпа. Для отримання повного контролю за основною системою після компрометації FullMAC пропонується використовувати додаткові вразливості або на деяких чіпах скористатися повним доступом до системної пам'яті. У чіпах з SoftMAC бездротовий стек 802.11 реалізований на боці драйвера та виконується із застосуванням системного CPU.

Уразливості в драйверах до WiFi-чіпів Broadcom, що дозволяють віддалено атакувати систему

У драйверах уразливості проявляються як у пропрієтарному драйвері wl (SoftMAC та FullMAC), так і у відкритому brcmfmac (FullMAC). У драйвері wl виявлено два переповнення буфера, що експлуатуються при передачі точкою доступу спеціально оформлених повідомлень EAPOL у процесі узгодження з'єднання (атака може бути здійснена при підключенні до точки шкідливої ​​доступу). У разі чіпа з SoftMAC вразливості призводять до компрометації ядра системи, а у випадку FullMAC код може бути виконаний на стороні прошивки. У brcmfmac є переповнення буфера і помилка перевірки оброблюваних кадрів, що експлуатуються через відправку керуючих кадрів. У ядрі Linux проблеми в драйвері brcmfmac було усунені в лютому.

Виявлені вразливості:

  • CVE-2019-9503 — некоректна поведінка драйвера brcmfmac при обробці кадрів, що керують, що використовуються для взаємодії з прошивкою. Якщо кадр з подією прошивки надходить із зовнішнього джерела драйвер його відкидає, але якщо подія отримана по внутрішній шині, кадр пропускається. Проблема в тому, що через внутрішню шину передаються події від пристроїв, що використовують USB, що дозволяє атакуючим успішно передавати кадри, що управляють прошивкою, у разі використання бездротових адаптерів з інтерфейсом USB;
  • CVE-2019-9500 — при включенні функції Wake-up on Wireless LAN можна викликати переповнення купи в драйвері brcmfmac (функція brcmf_wowl_nd_results) через відправлення спеціально зміненого керуючого кадру. Ця вразливість може використовуватися для організації виконання коду в основній системі після компрометації чіпа або в комбінації з вразливістю CVE-2019-9503 для обходу перевірок у разі віддаленого відправлення кадру, що управляє;
  • CVE-2019-9501 - переповнення буфера в драйвері wl (функція wlc_wpa_sup_eapol), що виникає при обробці повідомлень, вміст поля з інформацією про виробника в яких перевищує 32 байти;
  • CVE-2019-9502 - переповнення буфера в драйвері wl (функція wlc_wpa_plumb_gtk), що виникає при обробці повідомлень, вміст поля з інформацією про виробника в яких перевищує 164 байти.

Джерело: opennet.ru

Додати коментар або відгук