В ядрото на 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
