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

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

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

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

Проблемът беше открит в резултат на използването на автоматизирана система за fuzzing тестване, създадена от компанията Google syzbot и анализатора KASAN (KernelAddressSanitizer), насочен към откриване на грешки при работа с паметта и факти за неправилно обращение с паметта, като обращения към освободени области на паметта и поставяне на код в области на паметта, които не са предназначени за подобни манипулации.

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster