В прошивке к устройствам серии NETGEAR DGN-2200v1, сочетающим функции ADSL-модема, маршрутизатора и беспроводной точки доступа, выявлены три уязвимости, позволяющие выполнить любые операции в web-интерфейсе без прохождения аутентификации.
Первая уязвимость вызвана тем, что в коде http-сервера жёстко прошита возможность прямого обращения к картинкам, CSS и другим вспомогательным файлам, не требующая аутентификации. В коде имеется проверка запроса по маскам типовых имён файлов и расширений, реализованная через поиск подстроки во всём URL, в том числе в параметрах к запросу. В случае наличия подстроки страница отдаётся без проверки входа в web-интерфейс. Атака на устройства сводится к добавлению к запросу имени, присутствующего в списке, например, для обращения к настройкам WAN-интерфейса можно отправить запрос “https://10.0.0.1/WAN_wan.htm?pic.gif”.
Вторая уявзимость вызвана использованием функции strcmp при сравнении имени пользователя и пароля. В strcmp сравнение осуществляется посимвольно до достижения отличий или символа с нулевым кодом, идентифицирующим окончанием строки. Атакующий может попытаться подобрать пароль, поэтапно перебирая символы и анализируя время до вывода ошибки аутентификации (если издержка увеличилась, значит подобран верный символ и можно переходить к подбору следующего символа в строке).
Третья уязвимость позволяет извлечь пароль из дампа сохранения конфигурации, который можно получить воспользовавшись первой уязвимостью (например, отправив запрос “https://10.0.0.1:8080/NETGEAR_DGN2200.cfg?pic.gif)”. Пароль присутствует в дампе в зашифрованном виде, но для шифрования используется алгоритм DES и постоянный ключ “NtgrBak”, который можно извлечь из прошивки.
Для эксплуатации уязвимостей должна быть возможность отправки запроса на сетевой порт, на которым выполняется web-интерфейс (из внешней сети атака может быть совершена, например, при помощи техники “DNS rebinding”). Проблемы уже устранены в обновлении прошивки 1.0.0.60.