01.12.2021

Уязвимости в устройствах NETGEAR DGN-2200v1, допускающие управление без аутентификации

В прошивке к устройствам серии NETGEAR DGN-2200v1, сочетающим функции ADSL-модема, маршрутизатора и беспроводной точки доступа, выявлены три уязвимости, позволяющие выполнить любые операции в web-интерфейсе без прохождения аутентификации.

Первая уязвимость вызвана тем, что в коде http-сервера жёстко прошита возможность прямого обращения к картинкам, CSS и другим вспомогательным файлам, не требующая аутентификации. В коде имеется проверка запроса по маскам типовых имён файлов и расширений, реализованная через поиск подстроки во всём URL, в том числе в параметрах к запросу. В случае наличия подстроки страница отдаётся без проверки входа в web-интерфейс. Атака на устройства сводится к добавлению к запросу имени, присутствующего в списке, например, для обращения к настройкам WAN-интерфейса можно отправить запрос «https://10.0.0.1/WAN_wan.htm?pic.gif».

Вторая уявзимость вызвана использованием функции strcmp при сравнении имени пользователя и пароля. В strcmp сравнение осуществляется посимвольно до достижения отличий или символа с нулевым кодом, идентифицирующим окончанием строки. Атакующий может попытаться подобрать пароль, поэтапно перебирая символы и анализируя время до вывода ошибки аутентификации — если издержка увеличилась, значит подобран верный символ и можно переходить к подбору следующего символа в строке.

Третья уязвимость позволяет извлечь пароль из дампа сохранения конфигурации, который можно получить воспользовавшись первой уязвимостью (например, отправив запрос «http://10.0.0.1:8080/NETGEAR_DGN2200.cfg?pic.gif)». Пароль присутствует в дампе в зашифрованном виде, но для шифрования используется алгоритм DES и постоянный ключ «NtgrBak», который можно извлечь из прошивки.

Для эксплуатации уязвимостей должна быть возможность отправки запроса на сетевой порт, на которым выполняется web-интерфейс (из внешней сети атака может быть совершена, например, при помощи техники «DNS rebinding«). Проблемы уже устранены в обновлении прошивки 1.0.0.60.

Источник.