CVE-2026-35579
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
CoreDNS w wersjach przed 1.14.3 nieprawidłowo obsługuje uwierzytelnianie TSIG w transportach gRPC, QUIC, DoH i DoH3. W przypadku gRPC i QUIC serwer sprawdza tylko nazwę klucza TSIG, ale nie weryfikuje HMAC, przez co każde żądanie z pasującą nazwą klucza jest uznawane za uwierzytelnione. W przypadku DoH i DoH3 problem jest poważniejszy – serwer w ogóle nie sprawdza rekordu TSIG, więc każde żądanie z TSIG jest traktowane jako uwierzytelnione.
Ocena ryzyka
Nieuwierzytelniony atakujący sieciowo może ominąć ochronę TSIG i uzyskać dostęp do funkcji takich jak transfery stref AXFR/IXFR czy dynamiczne aktualizacje DNS. W przypadku DoH i DoH3 atak jest łatwiejszy, ponieważ nie wymaga znajomości prawidłowej nazwy klucza TSIG.
Rekomendacja
Zaktualizuj CoreDNS do wersji 1.14.3. Jako tymczasowe obejście wyłącz nasłuchiwanie na gRPC, QUIC, DoH i DoH3 tam, gdzie wymagane jest uwierzytelnianie TSIG, lub ogranicz dostęp sieciowy do tych portów tylko do zaufanych źródeł.
Inne podatności w CoreDNS
Zobacz wszystkie- CVE-2025-68151Średnie
CoreDNS przed wersją 1.14.0 zawiera podatność w implementacjach serwerów gRPC, HTTPS i HTTP/3, które nie mają krytycznych ograniczeń zasobów. Nieuwierzytelniony zdalny atakujący może wyczerpać pamięć i zdegradować lub zawiesić serwer poprzez otwarcie wielu równoczesnych połączeń.
- CVE-2026-86003Wysokie
CoreDNS to serwer DNS napisany w Go. Przed wersją 1.14.7, nasłuchy DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC i DNS-over-gRPC w plugin/pkg/doh/doh.go, core/dnsserver/server_quic.go i core/dnsserver/server_grpc.go wywołują dns.Msg.Unpack bez polityki żądań dns.DefaultMsgAcceptFunc używanej przez UDP, TCP i DNS-over-TLS. Nieuwierzytelniony klient może wysłać aktualizację RFC 2136, którą plugin proxy lub forward przekazuje bez zmian do aktualizowalnego upstreamu. Jeśli ten upstream ufa adresowi źródłowemu lub połączeniu CoreDNS i nie wymaga nieznanego atakującemu end-to-end TSIG, żądanie wydaje się pochodzić z CoreDNS i może dodawać, zastępować lub usuwać rekordy DNS, przekierowywać ruch, przejmować nazwy, zmieniać routing poczty lub zakłócać strefę zapisywalną. Problem został naprawiony w wersji 1.14.7.
- CVE-2026-82399Wysokie
CoreDNS to serwer DNS napisany w Go. Przed wersją 1.14.7, ścieżki żądań DNS-over-HTTPS, DNS-over-HTTP/3, DNS-over-QUIC i DNS-over-gRPC w plugin/pkg/doh/doh.go, core/dnsserver/server_quic.go i core/dnsserver/server_grpc.go wywołują dns.Msg.Unpack na liczbach sekcji kontrolowanych przez atakującego przed walidacją stałego nagłówka przez dns.DefaultMsgAcceptFunc. Nieuwierzytelniony klient może użyć kompresji nazw DNS i nadmiernych liczb sekcji, aby wzmocnić alokację przed łańcuchem pluginów, więc ograniczanie szybkości na poziomie pluginu nie może zapobiec wyczerpaniu pamięci przez równoczesne żądania i zakończeniu działania CoreDNS. Zwykłe nasłuchy UDP i TCP nie są dotknięte, ponieważ najpierw walidują nagłówek. Problem został naprawiony w wersji 1.14.7.
- CVE-2026-62994Niskie
W CoreDNS od wersji 1.9.4 do 1.14.5 wykryto podatność, w której klient DNS żądający transferu strefy AXFR może spowodować panikę (panic) serwera. Problem występuje przy konfiguracji k8s_external z headless-service, gdy endpoint nie ma zadeklarowanych portów. Poprawiono w wersji 1.14.5.
- CVE-2026-62309Wysokie
Podatność w CoreDNS przed wersją 1.14.4 pozwala na awarię procesu przez pojedynczy 28-bajtowy datagram UDP, gdy włączona jest wtyczka proxyproto. Błąd występuje w obsłudze nagłówka PROXY v2 z nie-UDP transportem.
- CVE-2026-62299Średnie
CoreDNS przed wersją 1.14.5 zawiera podatność w pluginie rewrite, gdzie brak sprawdzenia wartości NULL po wywołaniu res.IsEdns0() może prowadzić do paniki i awarii procesu. Zdalny, nieuwierzytelniony klient może wysłać pojedyncze zapytanie DNS, powodując panikę i degradację dostępności.
- CVE-2026-33489Wysokie
CoreDNS w wersjach przed 1.14.3 zawiera podatność w pluginie transfer, która może wybrać niewłaściwy blok ACL, gdy skonfigurowano zarówno strefę nadrzędną, jak i bardziej szczegółową podstrefę. Funkcja longestMatch() w plugin/transfer/transfer.go używa leksykograficznego porównania stringów zamiast rzeczywistego dopasowania najdłuższego sufiksu. W rezultacie permisywna reguła transferu dla strefy nadrzędnej może nadpisać restrykcyjną regułę dla podstrefy w zależności od kolejności nazw stref (np. "example.org." > "a.example.org." leksykograficznie). Pozwala to nieautoryzowanemu zdalnemu klientowi na wykonanie AXFR/IXFR dla podstrefy i pobranie pełnej zawartości strefy. Problem został naprawiony w wersji 1.14.3.
- CVE-2026-33190Wysokie
CoreDNS przed wersją 1.14.3 pozwala na obejście uwierzytelniania TSIG na transportach innych niż czysty DNS (DoT, DoH, DoH3, DoQ, gRPC). Wtyczka tsig ufa metodzie TsigStatus() dostarczonej przez writer transportu, która dla DoH/DoH3/DoQ/gRPC zawsze zwraca nil, a dla DoT nie ustawia TsigSecret. Umożliwia to nieuwierzytelnionemu klientowi dostęp do zasobów chronionych polityką tsig require all.
- CVE-2026-32936Wysokie
CoreDNS w wersjach przed 1.14.3 ma lukę, która pozwala na przyjmowanie zbyt dużych wartości parametru dns= w zapytaniach DoH GET, co prowadzi do kosztownego przetwarzania przed odrzuceniem żądania. Problem ten został naprawiony w wersji 1.14.3.
- CVE-2026-32934Wysokie
CoreDNS w wersjach przed 1.14.3 ma podatność, która pozwala zdalnemu klientowi na nieograniczony wzrost goroutine i pamięci poprzez otwieranie wielu strumieni QUIC i wysyłanie tylko 1 bajta na strumień. Problem ten został naprawiony w wersji 1.14.3.
Oryginalny opis (angielski, źródło NVD)
CoreDNS is a DNS server written in Go. In versions prior to 1.14.3, the gRPC, QUIC, DoH, and DoH3 transport implementations incorrectly handle TSIG authentication. For gRPC and QUIC, the server checks whether the TSIG key name exists in the configuration but never calls dns.TsigVerify() to validate the HMAC. If the key name matches a configured key, the tsigStatus field remains nil and the tsig plugin treats the request as successfully authenticated regardless of the MAC value. For DoH and DoH3, the issue is more severe: the DoHWriter.TsigStatus() method unconditionally returns nil, and the server never inspects the TSIG record at all. Any request containing a TSIG record is treated as authenticated over DoH and DoH3, even if the key name is invalid and the MAC is arbitrary. An unauthenticated network attacker can exploit this to bypass TSIG-protected functionality such as AXFR/IXFR zone transfers, dynamic DNS updates, or other TSIG-gated plugin behavior. The DoH and DoH3 variants have a lower exploitation bar because the attacker does not need to know a valid TSIG key name. This issue has been fixed in version 1.14.3. As a workaround, disable gRPC, QUIC, DoH, and DoH3 listeners where TSIG authentication is required, or restrict network-level access to affected transport ports to trusted sources only.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

