В ядрото на Linux уязвимост (), което позволява дистанционно да предизвика отказ в обслужването чрез изпращане на специално форматирани UDP пакети (packet-of-death). Проблемът е причинен от грешка в обработвача udp_gro_receive_segment (net/ipv4/udp_offload.c) с реализиране на технологията GRO (Generic Receive Offload) и може да доведе до повреда на съдържанието на зоните с памет в ядрото при обработка на UDP пакети с нулево запълване (празен payload).
Проблемът засяга само ядрото , тъй като поддръжката на GRO за UDP сокети беше през ноември миналата година и успя да стигне само до последното стабилно издание на ядрото. Технологията GRO позволява ускорена обработка на голям брой входящи пакети, благодарение на агрегиране на няколко пакета в по-големи блокове, които не изискват отделна обработка на всеки пакет.
За TCP проблемът не се проявява, тъй като за този протокол не се поддържа агрегиране на пакети без payload.
Уязвимостта засега е поправена само в вида на , коригиращо обновление все още не е публикувано (в вчерашното обновление 5.0.11 поправката ). В дистрибуции ядрото 5.0 успя да влезе в състава , , , и други непрекъснато обновявани дистрибуции. , , и проблемът не засяга.
Проблемът беше открит в резултат на автоматизирана система за fuzzing тестване, създадена от компанията Google и анализатора (KernelAddressSanitizer), насочен към откриване на грешки при работа с паметта и факти за неправилно обращение с паметта, като обращения към освободени области на паметта и поставяне на код в области на паметта, които не са предназначени за подобни манипулации.
Източник: opennet.ru
