W pakiecie Dnsmasq, który łączy w sobie buforujący resolver DNS, serwer DHCP, usługę anonsowania tras IPv6 oraz system uruchamiania przez sieć, zidentyfikowano 6 luk, które umożliwiają wykonanie kodu z uprawnieniami root, przekierowanie domeny na inny adres IP, odczytanie zawartości pamięci procesu i wywołanie awaryjnego zakończenia usługi. Problemy zostały rozwiązane w wersji dnsmasq 2.92rel2. Poprawki są także dostępne w formie łatek.
Zidentyfikowane problemy:
- CVE-2026-4892 — przepełnienie bufora w implementacji DHCPv6, umożliwiające atakującemu, który ma dostęp do lokalnej sieci, wykonanie kodu z uprawnieniami root poprzez wysłanie specjalnie sformatowanego pakietu DHCPv6. Przepełnienie spowodowane jest tym, że podczas zapisywania DHCPv6 CLID do bufora nie uwzględniono faktu, że w pakiecie dane są przechowywane w formacie szesnastkowym, gdzie każdy rzeczywisty bajt CLID zajmuje trzy bajty „%xx” (na przykład zapisanie 1000-bajtowego CLID prowadzi do zapisu 3000 bajtów).
- CVE-2026-2291 — przepełnienie bufora w funkcji extract_name(), umożliwiające atakującemu wstawienie fałszywych rekordów do bufora DNS i osiągnięcie przekierowania domeny na inny adres IP. Przepełnienie wystąpiło z powodu przydzielania bufora bez uwzględnienia eskapingowania niektórych znaków w wewnętrznej reprezentacji nazwy domeny w dnsmasq.
- CVE-2026-4893 — wyciek informacji, umożliwiający ominięcie weryfikacji poprzez wysłanie specjalnie sformatowanego pakietu DNS zawierającego informacje o podsieci klienta (RFC 7871). Luka może być wykorzystana do zmiany trasy odpowiedzi DNS i przekierowania użytkowników na domenę atakującego. Luka wynika z tego, że do funkcji check_source() przekazywana była długość rekordu OPT zamiast długości pakietu, co zawsze powodowało pozytywny wynik weryfikacji.
- CVE-2026-4891 — odczyt z obszaru poza granicami bufora podczas walidacji DNSSEC, prowadzący do wycieku danych z pamięci procesu w odpowiedzi na specjalnie sformatowane zapytanie DNS.
- CVE-2026-4890 — zapętlenie podczas walidacji DNSSEC, umożliwiające wywołanie odmowy usługi poprzez wysłanie specjalnie sformatowanego pakietu DNS.
- CVE-2026-5172 — odczyt z obszaru poza buforem w funkcji extract_addresses(), prowadzący do awaryjnego zakończenia podczas przetwarzania specjalnie sformatowanych odpowiedzi DNS.
Stanu usunięcia luk w dystrybucjach można ocenić na tych stronach (jeśli strona jest niedostępna, oznacza to, że deweloperzy dystrybucji jeszcze nie przystąpili do rozpatrywania problemu): Debian, Ubuntu, SUSE, RHEL, Gentoo, Arch, Fedora, OpenWRT, FreeBSD. Projekt Dnsmasq jest używany na platformie Android oraz w specjalistycznych dystrybucjach, takich jak OpenWrt i DD-WRT, a także w oprogramowaniu firmware wielu producentów routerów bezprzewodowych. W zwykłych dystrybucjach Dnsmasq może być instalowany przy użyciu libvirt, aby zapewnić działanie usługi DNS w maszynach wirtualnych lub aktywować w konfiguratorze NetworkManager.
Źródło: opennet.ru
