У вас роутер TP-Link? Поздравляем, хакеры получили root-доступ к вашей сети

У вас роутер TP-Link? Поздравляем, хакеры получили root-доступ к вашей сети

Масштаб проблемы способен затронуть десятки тысяч устройств.

image

Исследователи из команды ByteRay сообщили о критической уязвимости в маршрутизаторах TP-Link, которая позволяет удалённо выполнять произвольный код, обходя защитный механизм Address Space Layout Randomization. Брешь получила идентификатор CVE-2025-9961 (оценка по CVSS: 8.6) и была обнаружена в службе CWMP (TR-069). Для эксплуатации достаточно отправить специально подготовленный SOAP-запрос, что открывает злоумышленникам полный контроль над устройством.

Проблема связана с неограниченной записью в стек при обработке параметров в CWMP. С помощью собственного ACS-сервера атакующий может передать переполненный пакет, перезаписать указатель выполнения и перехватить поток инструкций. Несмотря на включённый ASLR, перебор базовых адресов в сочетании с возможностью перезапуска службы через веб-интерфейс позволяет надёжно обойти защиту. Вектор атаки доводится до конца техникой ret2libc, использующей функцию system() из библиотеки libc. В итоге на стороне жертвы подгружается ELF-бинарник, создающий обратное TCP-соединение.

Для доказательства концепции исследователи разработали собственный ACS на Python, так как стандартные инструменты вроде GenieACS не могли корректно передавать байтовый диапазон. Их сервис выполняет три шага: инициирует TR-069-сеанс и получает идентификатор CPE, устанавливает cookie и отправляет SetParameterValues с переполнением, а затем перебирает адресное пространство, перезапуская CWMP через панель управления маршрутизатора. Финальная полезная нагрузка использует curl для загрузки и запуска удалённого шелла, что обеспечивает удалённый доступ в сеть жертвы.

ByteRay наткнулись на эту уязвимость в ходе экспериментов с откатом прошивки, когда для загрузки уязвимой версии CWMP использовалась более старая брешь CVE-2023-1389. Анализ с помощью утилиты checksec показал отсутствие PIE и защиты стековых канареек», в то время как NX и частичный RELRO были активированы. ASLR обеспечивал энтропию только на уровне 9–10 бит для libc и стека, что сделало перебор практически реализуемым.

TP-Link уже выпустила обновления прошивок, устраняющие уязвимость за счёт проверки длины входных данных и включения полной защиты RELRO и «стековых канареек» (stack canaries). Администраторам настоятельно рекомендуется обновить устройства, отключить удалённую конфигурацию ACS, если она не используется, применять сложные пароли для веб-интерфейса и ограничивать доступ к TR-069 доверенными сетями. Случай с CVE-2025-9961 показал, что даже встроенные механизмы защиты остаются уязвимыми при недостаточной жёсткости бинарной компоновки и слабом контроле входных данных, а своевременные обновления и многослойная защита остаются ключевыми мерами безопасности.