Рањивост у Линук кернелу која може да изазове пад слањем УДП пакета

В ядре Linux идентификован рањивост (ЦВЕ-КСНУМКС-КСНУМКС), позволяющая удалённо вызвать отказ в обслуживании через отправку специально оформленных UDP-пакетов (packet-of-death). Проблема вызвана ошибкой в обработчике udp_gro_receive_segment (net/ipv4/udp_offload.c) с реализацией технологии GRO (Generic Receive Оffload) и может привести к повреждению содержимого областей памяти ядра при обработке UDP-пакетов с нулевым заполнением (пустой payload).

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

Уязвимость пока исправлена только в виде закрпа, корректирующее обновление ещё не опубликовано (во вчерашнее обновление 5.0.11 исправление не вошло). Из дистрибутивов ядро 5.0 успело войти в состав Федора КСНУМКС, убунту КСНУМКС, Арцх Линук, Гентоо и других непрерывно обновляемых дистрибутивов. Дебиан, Ubuntu 18.10 и младше, РХЕЛ/ЦентОС и СУСЕ/опенСУСЕ проблема не затрагивает.

Проблема была найдена в результате коришћење созданных компанией Google автоматизированной системы fuzzing-тестирования сизбот и анализатора KASAN (KernelAddressSanitizer), нацеленного на выявление ошибок при работе с памятью и фактов некорректного обращения к памяти, таких как обращения к освобождённым областям памяти и помещение кода в области памяти, не предназначенные для подобных манипуляций.

Извор: опеннет.ру

Додај коментар