Parser DNS w tcpdump przed wersją 4.9.2 zawiera błąd w funkcji ns_print() w pliku print-domain.c, który może doprowadzić do wejścia programu w nieskończoną pętlę. Podatność otrzymała ocenę krytyczną CVSS 9.8, ponieważ może być wywołana zdalnie bez uwierzytelnienia i bez interakcji użytkownika.
▸ Pokaż oryginał (EN)
The DNS parser in tcpdump before 4.9.2 could enter an infinite loop due to a bug in print-domain.c:ns_print().
Błąd (CWE-835) polega na możliwości wprowadzenia parsera DNS tcpdump w nieskończoną pętlę poprzez odpowiednio spreparowany pakiet sieciowy. Funkcja ns_print() odpowiedzialna za przetwarzanie danych DNS nie obsługuje prawidłowo pewnych niepoprawnych lub złośliwych danych wejściowych, co skutkuje zapętleniem wykonania. Dodatkowo obecna jest podatność na odczyt poza granicami bufora (CWE-125), co może prowadzić do ujawnienia danych z pamięci procesu.
Atakujący może doprowadzić do odmowy usługi (DoS) poprzez zawieszenie procesu tcpdump w nieskończonej pętli, a także potencjalnie odczytać dane z pamięci procesu, co grozi ujawnieniem poufnych informacji.
Należy zaktualizować tcpdump do wersji 4.9.2 lub nowszej. Dostępne są również poprawki w ramach aktualizacji dystrybucyjnych, m.in. Debian DSA-3971 oraz Red Hat RHEA-2018:0705. Można również zastosować konkretny commit naprawczy dostępny w repozytorium projektu na GitHub.
tcpdump w wersjach przed 4.9.2
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HTcpdump
APPTcpdump≤ 4.9.1
Powiązane podatności
Buffer over-read w parserze VRRP v3 w tcpdump — ujawnienie danych i DoS
Tcpdump: nieprawidłowa obsługa danych SMB (problem 2 z 2)
Nieprawidłowa obsługa danych SMB w Tcpdump — podatność krytyczna
Buffer over-read w parserze SMB/CIFS biblioteki tcpdump
Buffer over-read w parserze ICMP narzędzia tcpdump (przed wersją 4.9.2)