В прошивке беспроводных маршрутизаторов D-Link обнаружена критическая уязвимость, позволяющая инициировать выполнение на устройстве произвольной shell-команды через отправку специально оформленного HTTP-запроса, без прохождения аутентификации. Среди подверженных проблеме устройств отмечаются модели DIR-600, DIR-300 revB, DIR-815, DIR-645, DIR-412, DIR-456 и DIR-110, не исключено, что уязвимость проявляется и для других моделей D-Link.
Проблема вызвана недостаточной проверкой корректности параметра dst в сочетании с отсутствием проверки принадлежности запроса аутентифицированному сеансу. В состав некоторых моделей, таких как DIR-645, входит утилита wget, что позволяет атакующему не только выполнить уже доступные в операционной системе команды, но и организовать загрузку и выполнение своего кода. Эксплуатация уязвимости сводится передаче POST-запроса к скрипту diagnostic.php с указанием команды в форме "act=ping&dst=%26%20COMMAND%26".
Пользователям сетевых устройств D-Link рекомендуется незамедлительно произвести обновление прошивки. Для модели DIR-645 проблема устранена в прошивке v1.04b5, DIR-600 - v2.16B01, DIR-300rev B - 2.14B01. Для других моделей следует ограничить доступ к 80 порту. Интересно, что информация о проблеме была отправлена в D-Link 14 декабря, в ответе от 25 января компания D-Link сообщила, что не считает указанные проблемы уязвимостью, а рассматривает как проблемы на стороне пользователя/браузера, поэтому не собирается выпускать исправление. 7 феварля, после выявление фактов эксплуатации похожей по своей сути уязвимости в моделях DIR-600/300, компания D-Link сама связалась с исследователями безопасности для обсуждения выявленнных ими уязвимостей. 5 апреля были выпущены обновления прошивок. Таким образом, на исправление проблемы ушло почти 5 месяцев.