Исследователь Квентин Кайзер рассказал об уязвимости WPSplinter, исправление которой компания Broadcom подготовила ещё восемь лет назад, но оно так и не дошло до маршрутизаторов. Более того, отсутствие идентификатора CVE сделало эту проблему невидимой для систем оповещения и механизмов распространения обновлений, на которые полагаются производители роутеров и интернет‑провайдеры.

Ошибка кроется в устаревшем коде Broadcom, отвечающем за работу протокола WPS (Wi‑Fi Protected Setup) — функции, позволяющей подключать устройства к сети нажатием кнопки на маршрутизаторе, без ввода пароля. В этом коде некорректно реализована обработка определённых сообщений: если отправить их в нужной последовательности, злоумышленник может получить доступ к памяти маршрутизатора или выполнить на устройстве произвольный код. Для проведения атаки не требуется ни пароль от Wi‑Fi, ни завершенная процедура сопряжения через WPS — достаточно просто находиться в радиусе действия беспроводной сети. Важно отметить, что это не та уязвимость, связанная с PIN‑кодом WPS, о которой много писали в начале 2010-х годов: проблема заключается именно в коде Broadcom, а не в самом протоколе WPS. Демонстрации Кайзера наглядно показывают степень риска. На примере шлюза Askey TCG3000 он показал, как с помощью эксплойта можно извлечь ключ Wi‑Fi из энергонезависимой памяти (NVRAM) устройства, передать его по беспроводному каналу и использовать для подключения к сети. На другом устройстве — Proximus BBOX3V+ производства Sagemcom — ему удалось получить удалённую командную оболочку (shell), работающую исключительно через Wi‑Fi, без необходимости подключения к интернету. По словам исследователя, атака эффективна даже на значительном расстоянии.
Кайзер признался, что найти эту ошибку ему помог искусственный интеллект — на это ушло менее недели, тогда как при ручном анализе потребовались бы месяцы. Раньше прошивки маршрутизаторов были защищены отчасти за счёт трудоёмкости их изучения. Кайзер подтвердил наличие уязвимости в сетевых шлюзах трёх из четырёх крупнейших интернет‑провайдеров Бельгии: Proximus, Orange и VOO. По его оценкам, только в Бельгии насчитывается около 1,5 миллиона уязвимых устройств. Однако маршрутизаторы, построенные на тех же чипах Broadcom, продаются по всему миру. В список затронутых моделей входят устройства таких брендов, как Cisco, TP‑Link, Netgear, Sagemcom, Nokia, ZTE и Zyxel, используемые провайдерами Movistar, Optus, KPN и Türk Telekom. Исходя из этого, можно предположить, что в глобальном масштабе число уязвимых устройств исчисляется сотнями миллионов.
Когда в июле Кайзер сообщил об этой уязвимости, в Broadcom заявили, что знали о ней ещё с 2018 года, а с тех пор заменили старый код WPS в своём программном обеспечении и посоветовали исследователю обратиться к производителям конечных устройств. Кайзер отмечает, что исправление 2018 года было неполным. В Broadcom также отказались инициировать присвоение идентификатора CVE, сославшись на то, что код устарел и больше не поддерживается. На платформе Hacker News некоторые высказывают мнение, что ответственность лежит на производителях маршрутизаторов и интернет‑провайдерах, которые не занимаются обновлениями. Кайзер же возражает: без официального идентификатора CVE предупреждение, скорее всего, просто не дошло до остальных участников цепочки поставок. Смена пароля от Wi‑Fi не поможет, поскольку атака происходит ещё до этапа авторизации. Отключение функции WPS тоже может не привести к полному отключению уязвимого кода. В связи с этим пользователям рекомендуется отключить на устройстве Wi‑Fi, перевести его в режим «моста» (bridge mode) и использовать собственный, актуальный маршрутизатор. Кайзер также опубликовал на GitHub скрипт для проверки оборудования, которым может воспользоваться любой желающий.
Источник: habr.com