432 отчёта об уязвимостях в ядре Linux. Локальная root-уязвимость Frag Gap

За сутки в списке рассылки linux-cve-announce опубликовано 432 новых отчёта об уязвимостях в ядре Linux, которым присвоены CVE-идентификаторы. Из общей массы можно выделить уязвимость Frag Gap, для которой подготовлен рабочий эксплоит, позволяющий непривилегированному локальному пользователю получить права root в системе.

Уязвимость вызвана записью за пределы выделенного буфера в обработчике фрагментированных UDP-пакетов в IPv6 (CVE-2026-53362) и IPv4 (CVE-2026-5336) стеках ядра. Для эксплуатации уязвимости осуществляется отправка порции данных, размер которых не укладываются в допустимый размер фрагмента (превышает MTU), через UDP-сокет с выставленной опцией UDP_CORK, предписывающей объединять поступающие через сокет данные в одну датаграмму. Проблема возникает при обработке данных, требующих разделения на фрагменты, с параметром MSG_SPLICE_PAGES, который выставляется, например, при передаче данных из pipe-канала в сокет при помощи вызова splice().

Из-за ошибки неверно рассчитывается размер выделяемой памяти, что приводит к записи 15 хвостовых байтов за пределы выделенного буфера, в результате чего перезаписывается часть содержимого идущей следом структуры «skb_shared_info». Среди прочего, в структуре «skb_shared_info» перезаписывается поле «nr_frags», определяющее количество фрагментов. Через изменение данного поля можно создать условия когда ядро будет считать уже освобождённым фрагмент, как остающийся в обработке (use-after-free).

Проблема проявляется начиная с ядра 6.1. Исправление принято в ядро 21 июня и вошло в состав корректирующих выпусков
7.1.3,
6.18.38,
6.12.95,
6.6.144 и
6.1.177. Статус устранения уязвимости в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.
Для эксплуатации уязвимости через IPv6 достаточно, чтобы ядро было собрано с опцией «CONFIG_IPV6=y», а для атаки через IPv4 требуется возможность создания пространств имён идентификаторов пользователей (user namespace).

Источник: http://www.opennet.ru/opennews/art.shtml?num=65952