W jądrze Linux vulnerabilność (), która umożliwia zdalne wywołanie odmowy usługi poprzez wysyłanie specjalnie sformatowanych pakietów UDP (packet-of-death). Problem wynika z błędu w obsłudze udp_gro_receive_segment (net/ipv4/udp_offload.c) związanym z implementacją technologii GRO (Generic Receive Offload) i może prowadzić do uszkodzenia zawartości obszarów pamięci jądra podczas przetwarzania pakietów UDP z zerowym wypełnieniem (pusty payload).
Problem dotyczy tylko jądra , ponieważ wsparcie GRO dla gniazd UDP zostało w listopadzie zeszłego roku i trafiło tylko do ostatniego stabilnego wydania jądra. Technologia GRO umożliwia przyspieszenie przetwarzania dużej liczby przychodzących pakietów poprzez agregowanie kilku pakietów w większe bloki, które nie wymagają osobnej obsługi każdego pakietu.
Dla TCP problem się nie ujawnia, ponieważ dla tego protokołu nie wspiera się agregacji pakietów bez payload.
Luka została na razie naprawiona tylko w postaci , poprawka nie została jeszcze opublikowana (wczorajsza aktualizacja 5.0.11 poprawka ). Z dystrybucji jądro 5.0 zdążyło trafić do , , , i innych nieprzerwanie aktualizowanych dystrybucji. , , i problem nie dotyczy.
Problem został znaleziony w wyniku stworzonych przez firmę Google zautomatyzowanych systemów fuzzing-testowania i analizatora (KernelAddressSanitizer), który ma na celu wykrywanie błędów w obsłudze pamięci oraz przypadków nieprawidłowego dostępu do pamięci, takich jak dostęp do zwolnionych obszarów pamięci i umieszczanie kodu w obszarach pamięci, które nie są przeznaczone do takich manipulacji.
Źródło: opennet.ru
