В сетевом оборудовании различных производителей регулярно находят уязвимости. Какие-то из них закрывают, какие-то — нет. Похоже на то, что к числу последних относится уязвимость CVE-2019-16920, которую специалисты по информационной безопасности обнаружили еще в сентябре.
Эта проблема дает злоумышленнику возможность инъекции команд без авторизации прямо в программной оболочке роутеров. Эта уязвимость получила 9,8 баллов по шкале CVSS v3.1 и 10,0 по шкале CVSS v2.0. Проблема актуальна для роутеров моделей D-Link DIR-655, DIR-866L, DIR-652 и DHP-1565.
Процесс авторизации пользователей выполнен на базовом уровне, поэтому, как оказалось, непривилегированный пользователь может запускать произвольный код. Проверка авторизации, по сути, не работает. Проверить актуальность проблемы можно на странице администратора, после выполнения входа. После этого достаточно выполнить запрос D-Link DIR-655, DIR-866L, DIR-652 и DHP-1565. Затем нужно выполнить инъекцию команды в ping_ipaddr. Вполне может быть, что после этого запроса пользователя вернет на страницу авторизации. Но команда все равно выполняется на сервер роутера с возвращением результатов. Это техническое описание уязвимости Fortinet/FortiGuard.
Компания D-Link заявила, что не будет выпускать патч для этой проблемы, поскольку продукты, которые подвержены уязвимости, уже не поддерживаются. Предлагаемое решение довольно простое — нужно просто заменить оборудование на новое. В более современных моделях роутеров описанной уязвимости нет.
«Формально D-Link не за что предъявлять претензии: использование оборудования, снятого с поддержки, — целиком личное дело его владельцев, хотя в исключительных случаях производители иногда всё-таки выпускают исправления и для уже устаревшего оборудования. Другое дело, что роутеры — это вообще одна из самых проблемных составляющих локальных сетей, и обнаруженные уязвимости это лишний раз подтверждают. Защите маршрутизаторов уделяется меньше всего внимания (при том, что через них проходит весь трафик), да и ошибки в прошивках, в том числе критические, выявляются регулярно. При этом роутеры будут, скорее всего, использоваться до тех пор, пока они сохраняют минимальную работоспособность — или пока не станут явным источником проблем», — говорит Алексей Водясов, эксперт по информационной безопасности компании SEC Consult Services.
Ранее в этом году инженер Google Мэтью Гарретт опубликовал в открытом доступе эксплойт, допускающий возможность удалённого исполнения кода с получением рутового доступа. Как оказалось, одна из моделей роутеров, SR20, поддерживает протокол отладки TDDP (TP-Link Device Debug Protocol), в котором раньше было найдено несколько уязвимостей. Например, первая версия протокола не требует пароля для обмена пакетами по TDDP.
«В SR20 по-прежнему остались некоторые команды из первой версии, одна из которых (команда 0x1f, запрос 0x01), похоже, предназначена для какой-то проверки конфигурации, — написал Гарретт. — Вы посылаете имя файла, точку с запятой, а затем аргумент».
Как оказалось, устройство отвечает за отправленный запрос по TFTP, затем запрашивает имя файла, импортирует его в Lua, интерпретатор с root-правами. Завершается все передачей аргумента функции config_test() в импортированном файле.
Инженер опубликовал сведения об уязвимости после того, как известил компанию D-Link о проблеме. Но производитель не смог ликвидировать проблему в 90-дневный срок, поэтому информацию и выложили в общий доступ.
UPD. Компания D-Link в России (www.dlink.ru) поддерживает собственный отдел R&D, который пишет ПО для роутеров, продаваемых на территории России и СНГ. Поэтому проблемы, указанные в статье, не очень актуальны для российских потребителей и пользователей оборудования D-Link.