Уязвимость в HTTP-сервере muhttpd, открываяющая доступ к файлам вне рабочего каталога

Автор Сообщение
news_bot ®

Стаж: 4 года 6 месяцев
Сообщений: 23168

Создавать темы news_bot ® написал(а)
05-Авг-2022 19:54

В HTTP-сервере muhttpd, применяемом преимущественно в маршрутизаторах и точках доступа, выявлена уязвимость (CVE-2022-31793), позволяющая неаутентифицированному атакующему через отправку специально оформленного HTTP-запроса загрузить произвольные файлы, насколько это позволяют права доступа, под которыми выполняется HTTP-сервер (во многих устройствах muhttpd запускается с правами root). Например, атакующий может получить доступа к файлам с паролями, настройками беспроводного доступа, параметрами подключения к провайдеру и закрытыми ключами.
Проблема вызвана ошибкой при обработке пути в запросе, что позволяет обратиться к файлам, вне корневного каталога web-сервера. Атака сводится к указанию вначале пути любого дополнительного символа, отличного от точки, слеша и вопроса. Например, для загрузки файла /etc/hosts достаточно отправить запрос "GET a/etc/hosts" или "GET a/etc/hosts" (printf "GET b/etc/hosts\n\n" | nc server port).
Причина указанного поведения в том, что открытие запрошенного файла производится командой "open(&req->filename[1], O_RDONLY)" с предварительным выполнением функции chdir() для перехода в корень web-сервера. Указание &req->filename[1] приводит к игнорированию первого символа пути (разработчики подразумевали, что первый символ всегда "/"). Таким образом, при запросе "GET /etc/hosts" сервер попытается открыть файл по относительному пути "etc/hosts", но если указать вначале любой дополнительный символ ("GET a/etc/hosts") - последующий путь будет обработан полностью.
Проблема присутствует начиная с самой первой версии muhttpd и устранена в выпуске 1.1.7. Из устройств, использующих muhttpd, наличие проблемы подтверждено в
маршрутизаторах SaskTel и Arris. Потенциально проблема также может проявляться в устройствах, выпускаемых компаниями AT&T, Frontier и Windstream. При ограничении доступа к порту HTTP только для внутренней сети атака может быть совершена из внешней сети при помощи техники "DNS rebinding", позволяющую при открытии пользователем определённой страницы в браузере отправить HTTP-запрос на сетевой порт, недоступный для прямого обращения через интернет.
===========
Источник:
OpenNet.RU
===========

Похожие новости:Теги для поиска: #_muhttpd
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 18-Авг 15:27
Часовой пояс: UTC + 5