Уязвимости в dnsmasq, допускающие отравление DNS-кэша и выполнение кода с правами root

good-penguin.png

В пакете Dnsmasq, объединяющем кэширующий DNS-резолвер, сервер DHCP, сервис для анонсов маршрутов IPv6 и систему загрузки по сети, выявлено 6 уязвимостей, позволяющих выполнить код с правами root, перенаправить домен на другой IP, определить содержимое памяти процесса и вызвать аварийное завершение сервиса. Проблемы устранены в выпуске dnsmasq 2.92rel2. Исправления также доступны в форме патчей.

Выявленные проблемы:

  • CVE-2026–4892 — переполнение буфера в реализации DHCPv6, позволяющее атакующему, имеющему доступ к локальной сети, выполнить код с правами root через отправку специально оформленного пакета DHCPv6. Переполнение вызвано тем, что при записи DHCPv6 CLID в буфер не учитывалось то, что в пакете данные сохраняются в шестнадцатеричном представлении, в котором используется три байта »%xx» на каждый фактический байт CLID (например, сохранение 1000-байтового CLID приведёт к записи 3000 байт).
  • CVE-2026–2291 — переполнение буфера в функции extract_name (), позволяющее атакующему подставить фиктивные записи в кэш DNS и добиться перенаправления домена на другой IP-адрес. Переполнение возникло из-за выделения буфера без учёта экранирования некоторых символов во внутреннем представлении доменного имени в dnsmasq.
  • CVE-2026–4893 — утечка информации, позволяющая обойти проверку через отправку специально оформленного DNS-пакета с информацией о подсети клиента (RFC 7871). Уязвимость может использоваться для изменения маршрута DNS-ответа и перенаправления пользователей на домен атакующего. Уязвимость вызвана тем, что в функцию check_source () передавалась длина записи OPT вместо длины пакета, из-за чего функция всегда возвращала успешный результат проверки.
  • CVE-2026–4891 — чтение из области вне границы буфера при валидации DNSSEC, приводящее к утечке в ответе данных из памяти процесса при обработке специально оформленного DNS-запроса.
  • CVE-2026–4890 — зацикливание при валидации DNSSEC, позволяющее вызвать отказ в обслуживании через отправку специально оформленного DNS-пакета.
  • CVE-2026–5172 — чтение из области вне буфера в функции extract_addresses (), приводящее к аварийному завершению при обработке специально оформленных DNS-ответов.

Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): Debian, Ubuntu, SUSE, RHEL, Gentoo, Arch, Fedora, OpenWRT, FreeBSD. Проект Dnsmasq задействован в платформе Android и специализированных дистрибутивах, таких как OpenWrt и DD-WRT, а также в прошивках беспроводных маршрутизаторов многих производителей. В обычных дистрибутивах Dnsmasq может устанавливаться при использовании libvirt для обеспечения работы DNS-сервиса в виртуальных машинах или активироваться в конфигураторе NetworkManager.

>>> Источник

©  Linux.org.ru