The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

12.05.2026 17:53 (MSK)

В пакете 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.

  1. Главная ссылка к новости (https://www.kb.cert.org/vuls/i...)
  2. OpenNews: Проект Dnsmasq стал обладателем первой премии BlueHats
  3. OpenNews: Уязвимости в Dnsmasq, позволяющие подменить содержимое в кэше DNS
  4. OpenNews: Уязвимости в Dnsmasq, позволяющие удалённо выполнить код атакующего
  5. OpenNews: Уязвимость в uClibc и uClibc-ng, позволяющая подменить данные в кэше DNS
  6. OpenNews: Уязвимости KeyTrap и NSEC3, затрагивающие большинство реализаций DNSSEC
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65431-dnsmasq
Ключевые слова: dnsmasq
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 18:03, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    У всех нормальных unbound.
     
     
  • 2.3, Аноним83 (?), 18:07, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А DHCPv6 чем раздавать?)
     
     
  • 3.10, Аноним (10), 18:28, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Kea.

    Плюс для дома это редко нужно. А вот dns сервер с поддержкой doh, резолвера и кеша нужен всегда. Вечно дергать glibc - глупая затея.

     
  • 2.4, Аноним (4), 18:08, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    он разжирел с годами. Я может не нормальный, у меня dnsmasq
     

  • 1.2, Аноним83 (?), 18:07, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На самом деле там практически все косяки были с DNSSEC, ещё пара с DHCPv6 и один с DNS.

    На практике от этого толку около нуля, учитывая что DHCPv6 только в локалке и обычно его не юзают, а DNSSEC вендоры вроде не включают, ибо им не нужны багрепорты на пустом месте.

    Меня вообще никак не задело, ибо у меня оно пока чисто как DHCPv4 сервер, да и то надеюсь не долго осталось.

    Для особо озабоченных - можно dnsmasq в chroot убрать и свести ущерб от всех атак примерно к нулю.

    Я уже почти все сервисы поубирал в chroot, и буду теперь как мяв с её томоей - смотреть за цирком со стороны :)

     
     
  • 2.14, Аноним (14), 19:04, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > свести ущерб от всех атак примерно к нулю

    Чудны дела твои... Что, от отравления кэша DNS chroot помогает? Вот это нанотехнологии!

     
  • 2.16, Аноним (10), 19:08, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Меня вообще никак не задело, ибо у меня оно пока чисто как DHCPv4 сервер, да и то надеюсь не долго осталось.

    Ну, значит можно не фиксить rcешки

    > chroot

    После недавних copy fuck и dirty fag? Шутник.

    > смотреть за цирком со стороны :)

    Шею свернешь) Твой чрут в пять секунд разберут и пойдут плясать вокруг тебя.

    > Я уже почти все сервисы поубирал в chroot

    Systemd с namespace и seccompo попробуй.

     

  • 1.5, Аноним (5), 18:12, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Проблемы устранены в выпуске dnsmasq 2.92rel2.

    Сейчас конечно уязвимости становятся ещё более опасными:
    https://www.tomshardware.com/tech-industry/cyber-security/standard-90-day-vuln

     
  • 1.6, Дырик (?), 18:15, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    There has been something of a revolution in AI-based security research,
    and I've spent a lot of time over the last couple of months dealing with
    bug reports, weeding duplicates (so many duplicates!) and triaging bugs
    into those which need vendor pre-disclosure and those which it's better
    to make public and fix immediately.

    The tsunami of AI-generated bug reports shows no signs of stopping, so
    it is likely that this process will have to be repeated again soon.

     
  • 1.7, ruroruro (ok), 18:21, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Уважаемые админы OpenNET, вы можете в новостях про уязвимости сразу писать - это Local Privilege Escalation (LPE) или Remote Code Execution (RCE)?

    Потому что для подовляющего большинства людей LPE и RCE имеют абсолютно разные уровни важности. А фразы вроде "система загрузки по сети" и "позволяющих выполнить код с правами root" сразу создают впечатление будто это RCE.

    Кликбейт - это конечно хорошо, но очень не приятно, что после каждой подобной новости приходится самому лазить в первоисточники и проверять есть ли там RCE или это очередной LPE.

    Заранее спасибо.

     
     
  • 2.9, Дырик (?), 18:24, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    RCE, Cache poisoning, infoleak, infoleak, dos, infoleak
     
     
  • 3.11, ruroruro (ok), 18:34, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > RCE

    [citation needed]? На странице "Vulnerability Note VU#471747", на которую ссылается пост сказано только про LPE: "A local attacker may execute arbitrary code as root via DHCPv6 manipulation", "allows local attackers to execute arbitrary code with root privileges via a crafted DHCPv6 packet".

    Страничка самого CVE-2026-4892 на сайте NVD тоже классифицировано как "Attack Vector: Local".

    > Cache poisoning, infoleak, dos

    Остальное - вроде как верно.

     
     
  • 4.12, Дырик (?), 18:46, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, действительно. Звучит странно в контексте DHCPv6-пакетов, но видимо так.
    Вот полное письмо: https://marc.info/?l=oss-security&m=177852314119822&w=2

    >[оверквотинг удален]
    >
    > Cache Poisoning / Redirection (CVE-2026-2291, CVE-2026-4893) Attackers
    > may overwrite cache entries or manipulate response routing, enabling the
    > silent redirection of users to malicious domains.
    >
    > Information Disclosure (CVE-2026-4891, CVE-2026-4893) Internal memory
    > and network information may be inadvertently exposed.
    >
    > Local Privilege Escalation (CVE-2026-4892) A local attacker may execute
    > arbitrary code as root via DHCPv6 manipulation.

     
     
  • 5.15, Аноним (15), 19:07, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Local Privilege Escalation (CVE-2026-4892) A local attacker may execute
    > arbitrary code as root via DHCPv6 manipulation.

    А далее прочитать не судьба?
    "The likely attack vector is the local network, where an attacker can craft and send a DHCPv6 packet to the vulnerable server"
    Слово "local" в данном CVE употребляется в значении LAN = local network. Если выставить DHCPv6 наружу (WAN), то будет вполне себе RCE

     
  • 2.13, Аноним (13), 18:49, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Еще было бы классно указывать сколько лет  ̶с̶у̶щ̶е̶с̶т̶в̶о̶в̶а̶л̶ ̶б̶е̶к̶д̶о̶р̶ жила дырень.
    Это конечно может быть сложным, так что я начну с себя))

    CVE-2026-4892 - 13 лет
    github.com/imp/dnsmasq/blame/d42d4706bbcce3b5a40ad778a5a356a997db6b34/src/helper.c#L258

    CVE-2026-2291 - 15 лет
    github.com/imp/dnsmasq/blame/cf08eeee12b0f76a1259736c7795bfae82e08d2c/src/dnsmasq.h#L489

    CVE-2026-4893 - 5 лет
    github.com/imp/dnsmasq/blame/cf08eeee12b0f76a1259736c7795bfae82e08d2c/src/forward.c#L727

    CVE-2026-4891 - 13 лет
    github.com/imp/dnsmasq/blame/cf08eeee12b0f76a1259736c7795bfae82e08d2c/src/dnssec.c#L548

    CVE-2026-4890 - 13 лет (в том же dnssec.c что и предыдущая)
    github.com/imp/dnsmasq/blame/cf08eeee12b0f76a1259736c7795bfae82e08d2c/src/dnssec.c#L1349

    CVE-2026-5172 - всего год, свежачок!
    github.com/imp/dnsmasq/blame/cf08eeee12b0f76a1259736c7795bfae82e08d2c/src/rfc1035.c#L946

    В общем результаты не утешительные, проект состоящий на 94.2% из дыpяшku внезапно! отказался дыpяßым.

    Какая неожиданность.

     

  • 1.8, Дырик (?), 18:22, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это только самая вершина айсберга. Кто приберёг все самое интересное для pwn2own, c 14 мая начнут сдавать баги, а далее просто начнут расчехлять всё ;)

    Серьезные уязвимости, на поиск которых требовались месяцы работы топовых специалистов, теперь может найти средненький специалист за дни-недели.

     
  • 1.17, Аноним (17), 19:15, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://github.com/openwrt/openwrt/pull/23316
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру