CVE-2026-97955 in Linux
Сводка
по VulDB • 25.09.2026
В ядре Linux была устранена следующая уязвимость:
net: mana: восстановление указателя на программу XDP при сбое предварительного выделения памяти
Функция mana_xdp_set() публикует новую программу в apc->bpf_prog до того, как происходит какое-либо выделение ресурсов, поскольку функция mana_pre_alloc_rxbufs() определяет размер буферов на основе этой программы через вызов mana_get_rxbuf_cfg(). Если это выделение завершается неудачей, функция немедленно возвращает код ошибки, пропуская метку err_dealloc_rxbuffs, которая является единственным местом восстановления предыдущего указателя.
Операция присоединения (attach) сообщается как не выполненная, поэтому ядро BPF освобождает ссылку, которую оно держало для вызывающей стороны, и программа может быть уничтожена (freed), в то время как apc->bpf_prog все еще указывает на нее. Следующий потребитель функции mana_xdp_get() — обычно это функция mana_chn_setxdp(), вызываемая из mana_alloc_queues() при следующем включении интерфейса (ifup) или после сброса таймаута TX — затем вызывает bpf_prog_add() для уже освобожденной памяти.
Эта ситуация достижима через обычную команду "ip link set dev ethX xdp obj ..." всякий раз, когда предварительное выделение RX-буферов на очередь не может быть выполнено успешно.
Восстановите предыдущую программу в ветке обработки ошибок.
If you want to get best quality of vulnerability data, you may have to visit VulDB.