Вчера были опубликованы подробные сведения об уязвимости, затрагивающей микропрограмму популярного чипсета Wi-Fi, использующегося в очень широком спектре устройств вроде ноутбуков, смартфонов, игровых автоматов, маршрутизаторов и Интернета вещей (IoT). Обнаруженная исследователем Embedi Денисом Селяниным уязвимость затрагивает ThreadX, операционную систему реального времени (RTOS), которая используется в качестве прошивки для миллиардов устройств.

В опубликованном отчёте господин Селянин описал, как злоумышленник может использовать микропрограмму ThreadX, установленную на беспроводном чипсете Marvell Avastar 88W8897, для исполнения вредоносного кода без какого-либо вмешательства пользователя. Исследователь выбрал эту однокристальную систему, потому что она является одним из наиболее популярных чипсетов Wi-Fi на рынке и применяется в консолях PlayStation 4 и Xbox One, ноутбуках Microsoft Surface, хромбуках Samsung, смартфонах Galaxy и даже потоковых устройствах вроде Valve SteamLink (разумеется, список можно продолжать долго).

«Мне удалось выявить примерно 4 проблемы, связанных с полным повреждением памяти в некоторых частях прошивки, — отметил исследователь. — Одной из обнаруженных уязвимостей был особый случай переполнения пула блока ThreadX. Эта уязвимость может быть вызвана без вмешательства пользователя — в процессе сканирования доступных сетей».

Исследователь отмечает, что функция прошивки для сканирования новых сетей Wi-Fi запускается автоматически каждые пять минут, что делает использование уязвимости простой задачей. Всё, что нужно сделать злоумышленнику — это отправить искажённые пакеты Wi-Fi на любое устройство с чипсетом Marvell Avastar и подождать, пока функция запустится, выполнит вредоносный код и предоставит доступ к устройству. «Вот поэтому рассматриваемая ошибка настолько крута и даёт возможность взламывать устройства буквально без единого клика мыши в любом состоянии беспроводного соединения (даже если устройство не подключено ни к одной сети)», — отметил Денис Селянин.

Кроме того, специалист отметил, что выделил ещё два способа использования этой уловки, один из которых является специфическим для прошивки ThreadX в реализации Marvell, а другой — универсальный и может применяться к любой микропрограмме на основе ThreadX, которая, если верить домашней странице ThreadX, используется в 6,2 миллиарда устройств.

Отчёт Дениса Селянина содержит технические подробности использования уязвимости и демонстрационное видео. Сам код, позволяющий осуществлять взлом, опубликован не был по понятным причинам. Заплатки уже находятся в разработке.