Уязвимост в ядрото на Linux, която може да причини срив чрез изпращане на UDP пакет

В ядрото на Linux идентифицирани уязвимост (CVE-2019 11683-), което ви позволява дистанционно да предизвикате отказ на услуга чрез изпращане на специално проектирани UDP пакети (packet-of-death). Проблемът е причинен от грешка в манипулатора на udp_gro_receive_segment (net/ipv4/udp_offload.c) с внедряването на технологията GRO (Generic Receive Offload) и може да доведе до повреда на съдържанието на областите на паметта на ядрото при обработка на UDP пакети с нулево запълване (празен полезен товар).

Проблемът засяга само ядрото 5.0тъй като поддръжката на GRO за UDP сокети беше изпълнени през ноември миналата година и успя да влезе само в най-новата стабилна версия на ядрото. Технологията GRO ви позволява да ускорите обработката на голям брой входящи пакети чрез агрегиране на множество пакети в по-големи блокове, които не изискват отделна обработка на всеки пакет.
За TCP проблемът не възниква, тъй като този протокол не поддържа агрегиране на пакети без полезен товар.

Уязвимостта досега е коригирана само във формата пластир, коригиращата актуализация все още не е публикувана (корекция на вчерашната актуализация 5.0.11 които не са включени). От комплекти за разпространение, ядрото 5.0 успя да бъде включено Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo и други непрекъснато актуализирани дистрибуции. Debian, Ubuntu 18.10 и по-стари версии, RHEL/CentOS и SUSE/openSUSE проблемът не засяга.

В резултат на това беше открит проблемът употреба Автоматизирана система за тестване на fuzzing, създадена от Google сизбот и анализатор КАСАН (KernelAddressSanitizer), насочен към идентифициране на грешки при работа с памет и факти за неправилен достъп до паметта, като достъп до освободени области на паметта и поставяне на код в области на паметта, които не са предназначени за такива манипулации.

Източник: opennet.ru

Добавяне на нов коментар