BIND łata wysokie luki typu DNS cache poisoning (CVE-2025-40778, CVE-2025-40780). Co musisz zaktualizować i dlaczego to pilne

securitybeztabu.pl 17 godzin temu

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

  1. 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.
  2. 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.
  3. 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).
  4. 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).
  5. Monitoruj anomalie DNS: nagłe zmiany w statystykach NXDOMAIN/ SERVFAIL, nieoczekiwane rekordy NS/CNAME w cache, wzrost ruchu do „nowych” upstreamów.
  6. 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

  1. ISC KB – CVE-2025-40778: Cache poisoning attacks with unsolicited RRs (wersje podatne, brak obejść, wersje naprawcze). (kb.isc.org)
  2. ISC KB – CVE-2025-40780: Cache poisoning due to weak PRNG (opis PRNG, zakres wersji, CVSS, fixed). (kb.isc.org)
  3. Openwall oss-security – ogłoszenie ISC o trzech lukach w BIND 9 (CVE-2025-8677/40778/40780) i lokalizacje patchy. (Openwall)
  4. SecurityWeek – przegląd aktualizacji BIND i streszczenie ryzyka/wersji. (SecurityWeek)
  5. Ubuntu CVE-2025-40778 – status dystrybucyjny i wersje paczek. (Ubuntu)
Idź do oryginalnego materiału