CVE-2026-98370: use-after-free в xfrm ALLOCSPI при обработке compat-запросов
В ядре Linux устранена уязвимость use-after-free в подсистеме xfrm, возникающая при обработке compat-запроса ALLOCSPI. Проблема затрагивает системы, где используются 32-битные приложения, работающие с IPsec через compat-слой netlink. Уязвимость может привести к повреждению памяти или отказу в обслуживании.
Подробности
Проблема затрагивает ядро Linux (продукт Linux). Функция xfrm_state_netlink() формирует ответ на запрос ALLOCSPI с помощью dump_one_state(), которая уже вызывает alloc_compat() с корректным ответным skb и заголовком. Однако затем xfrm_alloc_userspi() вызывает alloc_compat() повторно, передавая при этом исходный запросный skb и его заголовок. Для compat-запроса транслятор интерпретирует 228-байтовую структуру compat xfrm_userspi_info как 232-байтовую нативную структуру, из-за чего читает четыре байта за пределами заявленной полезной нагрузки. Кроме того, транслированный дочерний объект публикуется через frag_list запроса. Мультикаст-копия запроса разделяет skb_shared_info и может наблюдать этот дочерний объект. Функция xfrm_user_rcv_msg() освобождает его после возврата из обработчика запроса, что приводит к гонке с compat-получателем, который всё ещё может копировать из него данные, — и в результате возникает use-after-free. Уязвимость относится к классу «использование после освобождения» и потенциально может привести к повреждению памяти, нестабильной работе ядра или отказу в обслуживании (DoS). Значение CVSS в записи CVE не указано.Что делать
Исправление уже включено в основную ветку ядра Linux — избыточное преобразование удалено. Ответ сохраняет корректную compat-трансляцию из dump_one_state(), а дочерний объект больше не привязывается к входящему запросу. Администраторам рекомендуется:- обновить ядро Linux до версии, содержащей исправление (патч доступен в upstream);
- проверить наличие обновлений в дистрибутивных репозиториях и применить их в рамках планового обслуживания;
- до установки патча минимизировать использование 32-битных приложений, работающих с IPsec через compat-слой netlink, если это допустимо в инфраструктуре;
- контролировать логи ядра на предмет признаков нестабильности (oops, panic) в подсистеме xfrm.
Источник: CVE Project (cvelistV5)
