[#] Уязвимости в dnsmasq, допускающие отравление DNS-кэша и выполнение кода с правами root
robot(spnet, 1) — All
2026-05-13 10:44:03


В пакете [ Dnsmasq ]( http://www.thekelleys.org.uk/dnsmasq/doc.html ) , объединяющем кэширующий DNS-резолвер, сервер DHCP, сервис для анонсов маршрутов IPv6 и систему загрузки по сети, [ выявлено ]( https://www.kb.cert.org/vuls/id/471747 ) 6 уязвимостей, позволяющих выполнить код с правами root, перенаправить домен на другой IP, определить содержимое памяти процесса и вызвать аварийное завершение сервиса. Проблемы устранены в выпуске [ dnsmasq 2.92rel2 ]( https://thekelleys.org.uk/dnsmasq/ ) . Исправления также доступны в форме [ патчей ]( https://www.openwall.com/lists/oss-security/2026/05/11/10 ) .

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

• [ CVE-2026-4892 ]( https://security-tracker.debian.org/tracker/CVE-2026-4892 ) - [ переполнение ]( https://thekelleys.org.uk/dnsmasq/CVE/CVE-2026-4892.diff ) буфера в реализации DHCPv6, позволяющее атакующему, имеющему доступ к локальной сети, выполнить код с правами root через отправку специально оформленного пакета DHCPv6. Переполнение вызвано тем, что при записи DHCPv6 CLID в буфер не учитывалось то, что в пакете данные сохраняются в шестнадцатеричном представлении, в котором используется три байта «%xx» на каждый фактический байт CLID (например, сохранение 1000-байтового CLID приведёт к записи 3000 байт).

• [ CVE-2026-2291 ]( https://security-tracker.debian.org/tracker/CVE-2026-2291 ) - [ переполнение ]( https://thekelleys.org.uk/dnsmasq/CVE/CVE-2026-2291.diff ) буфера в функции extract_name(), позволяющее атакующему подставить фиктивные записи в кэш DNS и добиться перенаправления домена на другой IP-адрес. Переполнение возникло из-за выделения буфера без учёта экранирования некоторых символов во внутреннем представлении доменного имени в dnsmasq.

• [ CVE-2026-4893 ]( https://security-tracker.debian.org/tracker/CVE-2026-4893 ) - [ утечка ]( https://thekelleys.org.uk/dnsmasq/CVE/CVE-2026-4893.diff ) информации, позволяющая обойти проверку через отправку специально оформленного DNS-пакета с информацией о подсети клиента (RFC 7871). Уязвимость может использоваться для изменения маршрута DNS-ответа и перенаправления пользователей на домен атакующего. Уязвимость вызвана тем, что в функцию check_source() передавалась длина записи OPT вместо длины пакета, из-за чего функция всегда возвращала успешный результат проверки.

• [ CVE-2026-4891 ]( https://security-tracker.debian.org/tracker/CVE-2026-4891 ) - [ чтение ]( https://thekelleys.org.uk/dnsmasq/CVE/CVE-2026-4891.diff ) из области вне границы буфера при валидации DNSSEC, приводящее к утечке в ответе данных из памяти процесса при обработке специально оформленного DNS-запроса.

• [ CVE-2026-4890 ]( https://security-tracker.debian.org/tracker/CVE-2026-4890 ) - [ зацикливание ]( https://thekelleys.org.uk/dnsmasq/CVE/CVE-2026-4890.dnsmasq-2.92.diff ) при валидации DNSSEC, позволяющее вызвать отказ в обслуживании через отправку специально оформленного DNS-пакета.

• [ CVE-2026-5172 ]( https://security-tracker.debian.org/tracker/CVE-2026-5172 ) - [ чтение ]( https://thekelleys.org.uk/dnsmasq/CVE/CVE-2026-5172.diff ) из области вне буфера в функции extract_addresses(), приводящее к аварийному завершению при обработке специально оформленных DNS-ответов.

Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): [ Debian ]( https://security-tracker.debian.org/tracker/CVE-2026-4892 ) , [ Ubuntu ]( https://people.canonical.com/~ubuntu-security/cve/CVE-2026-4892 ) , [ SUSE ]( https://bugzilla.suse.com/show_bug.cgi?id=CVE-2026-4892 ) , [ RHEL ]( https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2026-4892 ) , [ Gentoo ]( https://bugs.gentoo.org/show_bug.cgi?id=CVE-2026-4892 ) , [ Arch ]( https://security.archlinux.org/package/dnsmasq ) ,
[ Fedora ]( https://koji.fedoraproject.org/koji/packageinfo?packageID=1606 ) , [ OpenWRT ]( https://openwrt.org/advisory/start ) , [ FreeBSD ]( https://www.vuxml.org/freebsd/ ) . Проект Dnsmasq [ задействован ]( https://android.googlesource.com/platform/external/dnsmasq/+/68a974de72b5091ce608815a349daaeb05cdeab5/FAQ ) в платформе Android и специализированных дистрибутивах, таких как OpenWrt и DD-WRT, а также в прошивках беспроводных маршрутизаторов многих производителей. В обычных дистрибутивах Dnsmasq может устанавливаться при использовании libvirt для обеспечения работы DNS-сервиса в виртуальных машинах или [ активироваться ]( https://fedoramagazine.org/using-the-networkmanagers-dnsmasq-plugin/ ) в конфигураторе NetworkManager.

https://www.linux.org.ru/news/security/18290700