ЗАГОЛОВОЧНЫЙ БЛОК
В ядре Linux исправлена уязвимость CVE-2026-98372 в механизме xfrm/iptfs, приводящая к чтению за границами стека. Проблема затрагивает системы, использующие IP-TFS (AGGFRAG) в IPsec SA, и может быть вызвана специально сформированным сетевым пакетом на пути приёма. Уязвимость относится к классу out-of-bounds read и потенциально позволяет нарушить работу ядра.
Подробности
Уязвимость находится в функции iptfs_skb_reset_frag_walk(), которая продвигается к фрагменту, содержащему заданное смещение @offset, с помощью неограниченного цикла: while (offset >= walk->past + walk->frags[walk->fragi].len) walk->past += walk->frags[walk->fragi++].len; Индекс walk->fragi увеличивается, а walk->frags[walk->fragi] разыменовывается без проверки fragi относительно walk->nr_frags. Когда запрошенное смещение находится на границе или за пределами суммарной длины, покрываемой фрагментами, fragi выходит за пределы nr_frags и за границу стекового массива фиксированного размера frags[MAX_SKB_FRAGS + 1], что приводит к чтению области стека за пределами массива. Два вызывающих объекта ведут себя по-разному: iptfs_skb_add_frags() уже содержит защитную проверку: if (!walk->nr_frags || offset >= walk->total + walk->initial_offset) return len; Однако iptfs_skb_can_add_frags() такой проверки не имеет и вызывает iptfs_skb_reset_frag_walk() безусловно, выполняя выход за границы диапазона. Собственная проверка «fragi < walk->nr_frags» срабатывает лишь после — слишком поздно, чтобы предотвратить чтение. Уязвимость достижима со стороны пути приёма: специально сформированные данные IP-TFS (AGGFRAG), доставленные в IPTFS SA, приводят к вызову цепочки iptfs_reassem_cont() -> iptfs_skb_can_add_frags() со смещением за пределами суммы фрагментов. В отчёте приводится трассировка KASAN вида «stack-out-of-bounds in iptfs_skb_reset_frag_walk». Оценка CVSS в записи CVE не указана.Что делать
Исправление сводится к добавлению в iptfs_skb_can_add_frags() той же упреждающей проверки, которая уже есть в iptfs_skb_add_frags(), чтобы обход фрагментов никогда не выполнялся с выходящим за диапазон смещением. При срабатывании проверки вызывающий код переходит к существующему безопасному пути «linearize-and-copy». Рекомендуется обновить ядро Linux до версии, содержащей исправление данной уязвимости, либо установить актуальные патчи безопасности от поставщика дистрибутива. До применения обновления снизить поверхность атаки можно за счёт ограничения доступа к IP-TFS-конфигурациям и контроля трафика на IPTFS SA на периметре. Итог: CVE-2026-98372 — локально не тривиальная, но достижимая по сети через специально сформированный IP-TFS-трафик уязвимость чтения за границами стекового массива в ядре Linux. Она не приводит к прямой утечке данных за пределы ядра, но способна вызвать сбой (KASAN-детектируемое чтение вне массива) при обработке пакетов. Для защиты достаточно установить обновление ядра, содержащее исправление.Источник: CVE Project (cvelistV5)
