Обнаружена уязвимость в беспроводном стеке Broadcom

Обнаружена уязвимость в беспроводном стеке Broadcom

Обнаружена уязвимость в беспроводном стеке Broadcom

Исследователи безопасности из группы Zero, созданной компанией Google для предотвращения атак, совершаемых с использованием ранее неизвестных уязвимостей, опубликовали результаты обратного инжиниринга прошивки проприетарного WiFi-чипа Broadcom.

Используя уязвимости (CVE-2017-0561), выявленные в процессе изучения прошивки, исследователям удалось подготовить рабочий эксплоит, позволяющий организовать удалённое выполнение кода в контексте Wi-Fi SoC с последующим получением контроля над всей системой. Атака осуществляется через отправку по беспроводной сети специально оформленных управляющих кадров.

Wi-Fi чипы Broadcom представляют собой специализированный процессор (ARM Cortex R4 со своим 640KB ПЗУ и 768KB ОЗУ), на котором выполнятся подобие своей операционной системы с реализаций своего беспроводного стека 802.11 (FullMAC). FullMAC позволил снизить энергопотребление, разгрузив CPU, и упростил реализацию беспроводных драйверов, абстрагировав для операционной системы доступ к усложнённым современным возможностям беспроводных сетей. Обратной стороной подобного подхода, стало существенное усложнение беспроводных чипов и появление нового класса уязвимостей, которые могут привести к выполнению вредоносного кода на стороне Wi-Fi SoC и к дальнейшей компрометации через него всей системы, пишет opennet.ru.

Но уязвимость является частным случаем, а основная проблема кроется в том, что проприетарные прошивки являются "чёрным ящиком", который может свести на нет безопасность даже самой защищённой и проверенной системы. Так как Wi-Fi SoC самодостаточен и отделён от основной операционной системы, эксплуатацию уязвимостей в нём очень трудно блокировать и отследить. В ответ на критику компания Broadcom сообщила, что следующие поколения Wi-Fi SoC будут оснащены MPU (Memory Protection Unit), который позволит управлять доступом к областям памяти и помечать блоки памяти флагом, запрещающим выполнение кода.

В ходе изучения прошивки были выявлены четыре уязвимости в коде обработки кадров: две уязвимости в реализации механизмов роуминга (802.11r Fast BSS Transition (FT) и Cisco CCKM) и две (1, 2) в реализации протокола TDLS (Tunneled Direct Link Setup), предназначенного для обмена данными между разными сетями Wi-Fi в обход точек доступа. Уязвимости устранены в наборе прошивок, поставляемом в апрельском обновлении платформы Android для устройств Nexus 6, Nexus 6P, Nexus 9, Pixel C и Nexus Player.

Примечательно, что в том же обновлении Android устранены ещё две удалённо эксплуатируемые уязвимости. Первая, в crypto-движке Qualcomm (CVE-2016-10230), позволяет выполнить код в контексте ядра Linux при попытке обработки некорректно оформленных параметров. А вторая, в сетевом стеке старых версий ядра Linux (до 4.5) (CVE-2016-10229), позволяет выполнить код через отправку специально оформленного UDP-пакета.

30-летняя уязвимость в libpng поставила под удар миллионы приложений

Анонсирован выпуск libpng 1.6.55 с патчем для опасной уязвимости, которая была привнесена в код еще на стадии реализации проекта, то есть более 28 лет назад. Пользователям и разработчикам советуют как можно скорее произвести обновление.

Уязвимость-долгожитель в библиотеке для работы с растровой графикой в формате PNG классифицируется как переполнение буфера в куче, зарегистрирована под идентификатором CVE-2026-25646 и получила 8,3 балла по шкале CVSS.

Причиной появления проблемы является некорректная реализация API-функции png_set_dither(), имя которой было со временем изменено на png_set_quantize(). Этот механизм используется при чтении PNG-изображений для уменьшения количества цветов в соответствии с возможностями дисплея.

Переполнение буфера возникает при вызове png_set_quantize() без гистограммы и с палитрой, в два раза превышающей максимум для дисплея пользователя. Функция в результате уходит в бесконечный цикл, и происходит чтение за границей буфера.

Эту ошибку можно использовать с целью вызова состояния отказа в обслуживании (DoS). Теоретически CVE-2026-25646 также позволяет получить закрытую информацию или выполнить вредоносный код, если злоумышленнику удастся внести изменения в структуру памяти до вызова png_set_quantize().

Уязвимости подвержены все версии libpng, с 0.90 beta (а возможно, и с 0.88) до 1.6.54. Ввиду широкого использования библиотеки пользователям настоятельно рекомендуется перейти на сборку 1.6.55 от 10 февраля 2026 года.

RSS: Новости на портале Anti-Malware.ru