Luka w jądrze Linuxa, która pozwala na wywołanie awarii poprzez wysłanie pakietu UDP

W jądrze Linux wykryto vulnerabilność (CVE-2019-11683), 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 5.0, ponieważ wsparcie GRO dla gniazd UDP zostało zrealizowano 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 łatki, poprawka nie została jeszcze opublikowana (wczorajsza aktualizacja 5.0.11 poprawka nie została zawarta). Z dystrybucji jądro 5.0 zdążyło trafić do Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo i innych nieprzerwanie aktualizowanych dystrybucji. Debian, Ubuntu 18.10 i starsze, RHEL/CentOS i SUSE/openSUSE problem nie dotyczy.

Problem został znaleziony w wyniku używania stworzonych przez firmę Google zautomatyzowanych systemów fuzzing-testowania syzbot i analizatora KASAN (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

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster