Несколько дней назад появилась новость о том, что драйверы для беспроводных чипов Broadcom обнаружено четыре уязвимостичто они позволяют проводить удаленные атаки на устройства, содержащие эти микросхемы.
В простейшем случае уязвимости можно использовать для отказа в обслуживании. удаленный, но не исключены сценарии, в которых могут развиваться уязвимости которые позволяют злоумышленнику, не прошедшему проверку подлинности, запустить ваш код с привилегиями ядра Linux, отправив специально созданные пакеты.
Эти проблемы были выявлены во время обратного проектирования прошивки Broadcom, где подверженные уязвимости микросхемы широко используются в ноутбуках, смартфонах и различных потребительских устройствах, от SmartTV до устройств Интернета вещей.
В частности, чипы Broadcom используются в смартфонах таких производителей, как Apple, Samsumg и Huawei.
Особенно Broadcom была уведомлена об уязвимостях в сентябре 2018 года, но это заняло примерно 7 месяцев. (То есть как раз в этом месяце) корректировки запуска согласованы с производителями оборудования.
Какие обнаруженные уязвимости?
Две уязвимости влияют на внутреннюю прошивку и потенциально разрешить выполнение кода в среде операционной системы используется в чипах Broadcom.
Как Позволяет атаковать среды, отличные от Linux (Например, подтверждена возможность атаки на устройства Apple, CVE-2019-8564)).
Здесь важно отметить, что некоторые чипы Broadcom Wi-Fi представляют собой специализированный процессор (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.
CVE-2019-9503
Некорректное поведение драйвера brcmfmac при обработке управляющих кадров, используемых для взаимодействия с прошивкой.
Если кадр с событием микропрограммы поступает из внешнего источника, драйвер отбрасывает его, но если событие получено через внутреннюю шину, кадр игнорируется.
Проблема в том, что события с устройств, использующих USB, передаются по внутренней шине, что позволяет злоумышленникам успешно передавать прошивку который контролирует кадры в случае использования беспроводных USB-адаптеров;
CVE-2019-9500
При активации функции «Пробуждение по беспроводной сети», может вызвать переполнение в контроллере brcmfmac (функция brcmf_wowl_nd_results), отправляющем специально измененную структуру управления.
Эта уязвимость может использоваться для организации выполнения кода на хосте после зацепления чипа или в сочетании.
CVE-2019-9501
Переполнение буфера в драйвере wl (функция wlc_wpa_sup_eapol), которое происходит во время обработки сообщения, содержимое поля информации производителя в котором превышает 32 байта.
CVE-2019-9502
Переполнение буфера в драйвере wl (функция wlc_wpa_plumb_gtk), которое происходит во время обработки сообщения, содержимое поля информации производителя в котором превышает 164 байта.
источник: https://blog.quarkslab.com