
Wprowadzenie do problemu / definicja luki
Internet Systems Consortium (ISC) opublikowało aktualizacje BIND 9 usuwające poważne podatności umożliwiające DNS cache poisoning — wstrzyknięcie sfałszowanych rekordów DNS do pamięci podręcznej resolvera. Dwie główne luki to CVE-2025-40778 („niezamówione rekordy RRs” przyjmowane zbyt pobłażliwie) oraz CVE-2025-40780 (osłabione losowanie — możliwe przewidzenie portu źródłowego i ID zapytania), obie z oceną CVSS 8.6 (High). Łatki wydano 22–23 października 2025 r. wraz z wersjami 9.18.41, 9.20.15, 9.21.14 (oraz gałęzie S1 dla klientów wsparcia). Autorytatywne serwery zwykle nie są dotknięte, ryzyko dotyczy resolverów. Brak znanych obejść — aktualizacja jest jedyną skuteczną ochroną.
W skrócie
- Na czym polega błąd?
- CVE-2025-40778: resolver akceptuje „niezamówione” rekordy w odpowiedziach DNS, co pozwala zatruć cache.
- CVE-2025-40780: słabości w PRNG umożliwiają w pewnych warunkach przewidzenie portu źródłowego i QID, co ułatwia spoofing odpowiedzi.
- Kto jest zagrożony? Resolver BIND 9 w wielu wspieranych gałęziach (9.16/9.18/9.20/9.21 — szczegółowe zakresy poniżej). Autorytatywne instancje co do zasady nie.
- Jakie wersje naprawiają? 9.18.41, 9.20.15, 9.21.14 (+ 9.18.41-S1, 9.20.15-S1).
- Czy są exploity? Brak informacji o aktywnej eksploatacji w chwili publikacji.
Kontekst / historia / powiązania
ISC ujawniło trzy luki 22 października 2025 r.: oprócz dwóch błędów „cache poisoning” pozostało CVE-2025-8677 (DoS przez złośliwe DNSKEY). Ogłoszenie trafiło również na listę oss-security, gdzie wskazano gotowe łatki oraz katalogi „patches” dla każdej gałęzi.
Publikacje branżowe (m.in. SecurityWeek) podkreślają, iż nowe wersje BIND już są dostępne i należy je wdrożyć priorytetowo, zwłaszcza na publicznie dostępnych resolverach.
Analiza techniczna / szczegóły luki
CVE-2025-40778 – „niezamówione” rekordy RRs (unsolicited RRs)
- Istota: w określonych okolicznościach BIND zbyt liberalnie akceptuje rekordy znajdujące się w sekcjach odpowiedzi, które nie są bezpośrednio związane z zapytaniem. To otwiera drogę do wstrzyknięcia sfałszowanych danych (np. A/AAAA/CNAME/NS) do cache.
- Wpływ: manipulacja przyszłymi rozstrzygnięciami nazw (przekierowanie ruchu, MITM, phishing na poziomie DNS).
- Zakres wersji podatnych (BIND): 9.11.0–9.16.50, 9.18.0–9.18.39, 9.20.0–9.20.13, 9.21.0–9.21.12; podobne dla edycji S1. Brak obejść.
CVE-2025-40780 – osłabiony PRNG (przewidywalny port/QID)
- Istota: w pewnych warunkach słabości PRNG zmniejszają entropię kombinacji source port + query ID, co pozwala napastnikowi przygotować wiarygodną, sfałszowaną odpowiedź zanim dotrze prawdziwa.
- Wpływ: skuteczny spoofing odpowiedzi i zatrucie cache.
- Zakres wersji podatnych (BIND): 9.16.0–9.16.50, 9.18.0–9.18.39, 9.20.0–9.20.13, 9.21.0–9.21.12; brak znanych obejść. CVSS 8.6.
Trzecia luka: CVE-2025-8677 (DoS)
- Opis skrótowy: możliwy DoS przy przetwarzaniu specjalnie spreparowanych rekordów DNSKEY; może prowadzić do wyczerpania CPU i spadku dostępności usługi. (Szczegóły w advisory ISC i notce SecurityWeek).
Praktyczne konsekwencje / ryzyko
- Integritety DNS: Zatrucie cache pozwala zwrócić użytkownikom dowolne IP dla legalnej domeny (np. serwer atakującego), co ułatwia phishing, kradzież sesji i rozprzestrzenianie malware.
- Łańcuchy zależności: usługi mikroserwisowe i IoT korzystające z lokalnych resolverów mogą przekierować ruch wewnętrzny poza zaufany perymetr.
- Atak na skalę internetu: publiczne, rekurencyjne resolvery o dużym wolumenie zapytań są szczególnie atrakcyjne — jedna udana iniekcja rekordu NS/CNAME może mieć szeroki efekt kaskadowy.
- Brak obejść: bez aktualizacji trudno efektywnie zredukować ryzyko, bo problem dotyka logiki akceptacji odpowiedzi i/lub entropii transakcji.
Rekomendacje operacyjne / co zrobić teraz
- Natychmiast zaktualizuj BIND do najbliższej wspieranej wersji łatającej: 9.18.41, 9.20.15 lub 9.21.14 (w edycji S1 odpowiednio 9.18.41-S1, 9.20.15-S1). Zweryfikuj, iż binaria rzeczywiście pochodzą z tych gałęzi.
- Zweryfikuj status pakietów dystrybucyjnych. Dla Ubuntu poprawki są już propagowane (np. noble/jammy), ale wersje i numery paczek mogą się różnić — porównaj z tablicami dystrybutora.
- Ogranicz ekspozycję resolverów:
- nie udostępniaj rekursji klientom spoza zaufanych AS/VLAN;
- włącz ACL/ views i filtrowanie źródeł;
- jeśli to możliwe, nie wystawiaj publicznych resolverów dla świata. (Dobre praktyki wspierają ograniczenie skutków choćby po aktualizacji).
- Wzmocnij odporność na spoofing:
- wymuś source-port randomization i upewnij się, iż żaden middlebox nie „uładza” portów;
- utrzymuj DNS Cookies/0x20 case randomization;
- stosuj DNSSEC (walidacja) — nie eliminuje wszystkich ryzyk operacyjnych, ale znacząco utrudnia skuteczne zatruwanie cache. (Uwaga: artykuł dotyczy luk w resolverze; DNSSEC chroni integralność danych autorytatywnych, ale wymaga poprawnej walidacji po stronie resolvera).
- Monitoruj anomalie DNS: nagłe zmiany w statystykach NXDOMAIN/ SERVFAIL, nieoczekiwane rekordy NS/CNAME w cache, wzrost ruchu do „nowych” upstreamów.
- Plan awaryjny: przygotuj szybkie „flush cache” na instancjach, playbook na rollback zmian stref, oraz możliwość przełączenia klientów na alternatywny, zaufany resolver na czas incydentu.
Różnice / porównania z innymi przypadkami
- ECS/Rebirthday i inne wektory historyczne: wcześniejsze scenariusze cache poisoning bywały związane z EDNS Client Subnet (ECS) i specyficzną logiką mieszania odpowiedzi. Obecne luki celują wprost w politykę akceptacji rekordów (40778) oraz entropię transakcji (40780), co przywraca klasyczne ryzyko „Kaminsky-style”, ale w nowym wydaniu i na współczesnych gałęziach BIND. (Zakres techniczny i skale wersji potwierdza ISC; dystrybutorzy publikują własne statusy).
Podsumowanie / najważniejsze wnioski
- Dwie luki „High” w BIND 9 (CVE-2025-40778, CVE-2025-40780) umożliwiają zatruwanie cache resolvera.
- Brak obejść. Jedyną sensowną odpowiedzią jest natychmiastowa aktualizacja do 9.18.41 / 9.20.15 / 9.21.14 (S1: 9.18.41-S1 / 9.20.15-S1).
- Autorytatywne serwery co do zasady bez wpływu, ale sprawdź, czy nie wykonują rekursji „przy okazji”.
- Uporządkuj ekspozycję resolverów i wzmocnij higienę DNS (DNSSEC, losowość portów/QID, monitoring).
Źródła / bibliografia
- ISC KB – CVE-2025-40778: Cache poisoning attacks with unsolicited RRs (wersje podatne, brak obejść, wersje naprawcze). (kb.isc.org)
- ISC KB – CVE-2025-40780: Cache poisoning due to weak PRNG (opis PRNG, zakres wersji, CVSS, fixed). (kb.isc.org)
- Openwall oss-security – ogłoszenie ISC o trzech lukach w BIND 9 (CVE-2025-8677/40778/40780) i lokalizacje patchy. (Openwall)
- SecurityWeek – przegląd aktualizacji BIND i streszczenie ryzyka/wersji. (SecurityWeek)
- Ubuntu CVE-2025-40778 – status dystrybucyjny i wersje paczek. (Ubuntu)



