CVE-2026-42959
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 52 - wyżej niż 52% wszystkich znanych CVE
Streszczenie
NLnet Labs Unbound do wersji 1.25.0 włącznie zawiera podatność na odmowę usługi w walidatorze DNSSEC, która może prowadzić do awarii procesu w przypadku złośliwych odpowiedzi upstream. Problem wynika z użycia niewłaściwego licznika do obliczania offsetów zapisu dla zestawów rekordów w sekcji ADDITIONAL. Atakujący kontrolujący domenę podpisaną DNSSEC może wywołać awarię pojedynczym zapytaniem.
Ocena ryzyka
Ryzyko dla organizacji polega na możliwości przerwania działania serwera DNS, co może prowadzić do niedostępności usług sieciowych.
Rekomendacja
Zaleca się aktualizację Unbound do wersji 1.25.1, która zawiera poprawkę używającą właściwych liczników do obliczania offsetów.
Inne podatności w Unbound
Zobacz wszystkie- CVE-2026-50252Krytyczne
W bibliotece Unbound od wersji 1.4.22 do 1.25.1 stwierdzono podatność na zatruwanie pamięci podręcznej DNS. Problem wynika z deterministycznego przypisywania zakresów portów UDP do wątków roboczych przy włączonej opcji SO_REUSEPORT, co umożliwia atakującemu przewidzenie portu źródłowego i obniżenie entropii transakcji DNS.
- CVE-2026-42960Krytyczne
NLnet Labs Unbound do wersji 1.25.0 włącznie jest podatny na zatruwanie pamięci podręcznej poprzez promiscuous rekordy w sekcji autorytatywnej. Atakujący może wstrzyknąć rekordy inne niż NS (np. MX) wraz z rekordami adresowymi, które Unbound buforuje, co prowadzi do zatrucia pamięci podręcznej. Wersja 1.25.1 zawiera poprawkę odrzucającą rekordy adresowe z sekcji dodatkowej, jeśli nie są one jawnie związane z rekordami NS.
- CVE-2026-33278Krytyczne
NLnet Labs Unbound od wersji 1.19.1 do 1.25.0 ma podatność w walidatorze DNSSEC polegającą na błędzie przypisania struktury podczas głębokiego kopiowania, co prowadzi do wiszącego wskaźnika i potencjalnego wykonania kodu.
- CVE-2026-56444Średnie
W Unbound od wersji 1.20.0 do 1.25.1, przy konfiguracji 'serve-expired: yes' i 'serve-expired-client-timeout > discard-timeout > 0', logika discard-timeout nieprawidłowo aktualizuje licznik odpowiedzi, co może doprowadzić do odrzucania nowych klientów i degradacji usługi. Atakujący może to wykorzystać, wysyłając zapytania do wolnej strefy autorytatywnej.
- CVE-2026-56416Średnie
W NLnet Labs Unbound do wersji 1.25.1, podczas budowania kanonicznej formy RDATA dla zestawu rekordów RRSIG-covered PX/RP/MINFO/SOA, walidator oblicza adres drugiej osadzonej nazwy domeny jako 'datstart + dname_valid(datstart, ...)' i przekazuje go bezpośrednio do 'query_dname_tolower()' bez sprawdzania, czy druga nazwa faktycznie występuje w RDATA. Atakujący prowadzący autorytatywny serwer DNSSEC może dostarczyć rekord z brakującą drugą nazwą domeny (np. rekord SOA) i spowodować, że 'query_dname_tolower()' będzie przetwarzać nieaktualne bajty w buforze 'env->scratch_buffer', wychodząc poza jego alokację sterty, jeśli 'msg-buffer-size' został zmniejszony. Prowadzi to do przepełnienia bufora sterty.
- CVE-2026-55991Średnie
W Unbound od wersji 1.22.0 do 1.25.1, zdalny, nieuwierzytelniony klient może wywołać asercję w libngtcp2 (jeśli skompilowano z asercjami) i zakończyć proces Unbound przez pojedyncze połączenie DoQ i jedno zapytanie DNS. Problem wynika z błędnego przekazania wartości '-1' do funkcji libngtcp2.
- CVE-2026-55990Średnie
W Unbound od wersji 1.7.0 do 1.25.1, gdy w konfiguracji DNSCrypt jest więcej certyfikatów niż kluczy, Unbound wypełnia pozostałe sloty danymi '0xdb' z alokatora libsodium. Nieuwierzytelniony klient wysyłający datagram UDP ≥68 bajtów z pierwszymi 8 bajtami '0xdb' na port DNSCrypt może spowodować awarię serwera.
- CVE-2026-55717Średnie
W Unbound od wersji 1.10.0 do 1.25.1, przy włączonej opcji 'serve-expired: yes' i regule 'response-ip' lub 'rpz-cname-override', zdalny klient kontrolujący delegowaną domenę może spowodować awarię demona. Problem wynika z niespójności w logice obsługi aliasów CNAME w funkcji serve-expired-client-timeout.
- CVE-2026-55708Niskie
W Unbound od wersji 1.6.0 do 1.25.1, polecenia 'view_local_data' i 'view_local_datas' w 'unbound-control' tworzą gołą strefę lokalną dla widoku bez domyślnych stref chronionych (np. RFC 1918 reverse, AS112, .onion, .localhost). Powoduje to, że zapytania o te nazwy są kierowane do publicznego DNS zamiast odpowiadane lokalnie, omijając politykę lokalną.
- CVE-2026-54478Niskie
W NLnet Labs Unbound od wersji 1.18.0 do 1.25.1, gdy Unbound nasłuchuje na interfejsie 'proxy-protocol-port' z włączoną opcją 'answer-cookie: yes', serwerowe ciasteczko SipHash (RFC 9018) jest obliczane na podstawie adresu sieciowego proxy, a nie adresu klienta zadeklarowanego w PROXYv2. Oznacza to, że jedno ciasteczko uzyskane przez dany węzeł proxy jest ważne dla wszystkich źródeł zadeklarowanych przez to proxy. Atakujący spoza ścieżki może zebrać jedno ciasteczko za pomocą jednego legalnego zapytania, a następnie odtworzyć je pod dowolnym sfałszowanym źródłem, omijając mechanizmy DNS Cookie.
Oryginalny opis (angielski, źródło NVD)
NLnet Labs Unbound up to and including version 1.25.0 has a denial of service vulnerability in the DNSSEC validator that can lead to a crash given malicious upstream replies. When Unbound constructs chase-reply messages for validation, the code uses the wrong counter to calculate write offsets for ADDITIONAL section rrsets. DNAME duplication could increase the ANSWER section count and authority filtering could decrease the AUTHORITY section count and create an uninitialized array slot. Combining these two, the validator later dereferences this uninitialized pointer, causing an immediate process crash. An adversary controlling a DNSSEC-signed domain can trigger this bug with a single query by configuring a DNAME chain with unsigned CNAMEs and a response containing unsigned AUTHORITY records alongside signed ADDITIONAL glue records. Unbound 1.25.1 contains a patch with a fix to use the proper counters to calculate the write offsets.

