В драйвери за безжични чипове Broadcom четири В най-простия случай, уязвимостите могат да бъдат използвани за причиняване на отдалечен отказ на услуга, но не могат да се изключат сценарии, в които могат да бъдат разработени експлойти, позволяващи на неавторизиран атакуващ да изпълни кода си с привилегии на ядрото. Linux чрез изпращане на специално разработени пакети.
Проблемите бяха идентифицирани чрез обратно инженерство на фърмуера на Broadcom. Засегнатите чипове се използват широко в лаптопи, смартфони и различни потребителски устройства, от SmartTV до устройства за Интернет на нещата. По-специално чиповете на Broadcom се използват в смартфони на производители като Apple, Samsumg и Huawei. Трябва да се отбележи, че Broadcom беше уведомен за уязвимостите още през септември 2018 г., но отне около 7 месеца, за да пусне корекции в координация с производителите на оборудване.
Две уязвимости засягат вътрешния фърмуер и потенциално позволяват изпълнението на код в средата на операционната система, използвана в чиповете на Broadcom, което позволява атаки срещу среди, които не използват Linux (например, потвърдена е възможността за атакуване на устройства на Apple, ). Нека припомним, че някои Wi-Fi чипове на Broadcom са специализиран процесор (ARM Cortex R4 или M3), който работи с подобна операционна система с имплементации на своя 802.11 безжичен стек (FullMAC). В такива чипове драйверът осигурява взаимодействие на основната система с фърмуера на Wi-Fi чипа. За да се получи пълен контрол над основната система, след като FullMAC е бил компрометиран, се предлага да се използват допълнителни уязвимости или, на някои чипове, да се възползва от пълния достъп до системната памет. В чипове със SoftMAC безжичният стек 802.11 е внедрен от страната на драйвера и се изпълнява с помощта на системния процесор.
Уязвимостите в драйверите засягат както собствения wl драйвер (SoftMAC и FullMAC), така и brcmfmac с отворен код (FullMAC). В wl драйвера са открити две препълвания на буфера, използвани, когато точката за достъп предава специално създадени EAPOL съобщения по време на договаряне на връзката (атака може да се извърши при свързване към злонамерена точка за достъп). В случая на чипа SoftMAC, уязвимостите водят до компрометиране на ядрото, докато в случая на FullMAC, изпълнението на код може да възникне във фърмуера. В brcmfmac са налице препълване на буфера и грешка при валидиране на кадри, използвани чрез изпращане на контролни кадри. В ядрото Linux проблеми с драйвера на brcmfmac през февруари.
Идентифицирани уязвимости:
- CVE-2019-9503 - неправилно поведение на драйвера brcmfmac при обработка на контролни рамки, използвани за взаимодействие с фърмуера. Ако кадър със събитие на фърмуера идва от външен източник, драйверът го отхвърля, но ако събитието е получено през вътрешната шина, кадърът се пропуска. Проблемът е, че събитията от устройства, използващи USB, се предават през вътрешната шина, което позволява на атакуващите успешно да предават контролни кадри на фърмуера, когато използват безжични адаптери с USB интерфейс;
- CVE-2019-9500 – Когато функцията „Събуждане по безжична 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
