Атака Cable Haunt, позволяющая получить контроль за кабельными модемами

Исслeдoвaтeли бeзoпaснoсти изо кoмпaнии Lyrebirds рaскрыли свeдeния oб уязвимoсти (CVE-2019-19494) в кaбeльныx мoдeмax нa бaзe чипoв Broadcom, пoзвoляющeй пoлучить пoлный кoнтрoль зa устрoйствoм. Пo прeдпoлoжeнию исследователей проблеме подвержены где-то 200 миллионов устройств в Европе, применяемых разными кабельными операторами. Обслуживание обрабатывает запросы чрез jsonrpc и принимает соединения только лишь во внутренней сети. Эксплуатация уязвимости в сервисе оказалась возможна по причине двум факторам - сервис не был защищён ото применения техники "DNS rebinding" из-ради некорректного использования WebSocket и в большинстве случаев предоставлял вход на основе предопределённого инженерного пароля, общего ради всех устройств модельного ряда (спектральный анализатор является отдельным сервисом получи и распишись своём сетевом порту (обычно 8080 али 6080) со своим инженерным паролем доступа, который-нибудь не пересекается с паролем от web-интерфейса администратора). Мастеровитость "DNS rebinding" позволяет при открытии пользователем определённой страницы в браузере найти WebSocket-соединение с сетевым сервисом в внутренней сети, недоступным для прямого обращения путем интернет. Для обхода применяемой в браузерах защиты ото выхода за пределы области текущего домена (cross-origin) применяется вахта имени хоста в DNS - на DNS-сервере атакующих настраивается поочерёдная уделение двух IP-адресов: на первый радиозапрос. Ant. ответ отдаётся реальный IP сервера со страницей, а поэтому возвращается внутренний адрес устройства (за примером далеко ходить не нужно, 192.168.10.1). Время жизни (TTL) для первого ответа выставляется в минимальное значимость, поэтому при открытии страницы браузер определяет п IP сервера атакующего и загружает содержимое страницы. Получи странице запускается JavaScript-код, который-нибудь ожидает истечения TTL и отправляет второй просьба, который теперь определяет хост ни дать ни взять 192.168.10.1, что позволяет из JavaScript нацелиться к сервису внутри локальной сети, обойдя оговорка cross-origin. После получения внутренние резервы отправки запроса к модему, атакующий может выжимать весь пот переполнение буфера в обработчике спектрального анализатора, которое позволяет выстрадать выполнения кода с правами root в уровне прошивки. После этого атакующий получает исполненный контроль над устройством, позволяющий перевернуть кверху дном любые настройки (например, подменять DNS-ответы чрез перенаправление DNS на свой сервер), отключить воскрешение прошивки, подменить прошивку, перенаправить траффик или вклиниться в сетевые соединения (MiTM). Небезукоризненность присутствует в типовом обработчике Broadcom, какой используется в прошивках кабельных модемов различных производителей. В процессе разбора поступающих после WebSocket запросов в формате JSON, изо-за ненадлежащей проверки данных очередь указанных в запросе параметров может являться записан в область за пределами выделенного грудь и переписать часть стека, в том числе, приветствие возврата и сохранённые значения регистров. В вчера(шний день) время уязвимость подтверждена в следующих устройствах, которые были доступны чтобы изучения в процессе исследования: Sagemcom F@st 3890, 3686; NETGEAR CG3700EMR, C6250EMR, CM1000 ; Technicolor TC7230, TC4400; COMPAL 7284E, 7486E; Surfboard SB8200. Основа: http://www.opennet.ru/opennews/art.shtml?num=52169