CVE-2026-64424 in Linux
Сводка
по VulDB • 25.07.2026
В ядре Linux устранена следующая уязвимость:
netpoll: исправлена ошибка use-after-free на пути завершения работы (shutdown path)
Наблюдается ошибка use-after-free в подсистеме netpoll, которая четко фиксируется инструментом KASAN.
BUG: KASAN: slab-use-after-free in _raw_spin_lock_irqsave+0x3b/0x80 Read of size 1 at addr ... by task kworker/9:1 Workqueue: events queue_process Call Trace: skb_dequeue+0x1e/0xb0 queue_process+0x2c/0x600 process_scheduled_works+0x4b6/0x850 worker_thread+0x414/0x5a0 Allocated by task 242: __netpoll_setup+0x201/0x4a0 netpoll_setup+0x249/0x550 enabled_store+0x32f/0x380 Freed by task 0: kfree+0x1b7/0x540 rcu_core+0x3f8/0x7a0
Проблема возникает, когда в параллельном режиме с путем очистки (cleanup path) выполняется ожидающий TX-воркер.
Что происходит на пути завершения работы netpoll:
1) Вызывается __netpoll_cleanup() 2) Устанавливается значение dev->npinfo равным NULL 3) Вызывается call_rcu() с функцией rcu_cleanup_netpoll_info() 3.1) Функция rcu_cleanup_netpoll_info() пытается отменить все воркеры с помощью cancel_delayed_work(), но не ожидает завершения работы воркера 4) И выполняется kfree(npinfo);
Поскольку пункт 3.1) фактически не отменяет работу (как указано в комментарии: «мы не можем вызвать cancel_delayed_work_sync здесь, так как мы находимся в softirq»), TX-воркер может запуститься после пункта 4).
Tl;DR: функция queue_process() не является читателем RCU, она обращается к npinfo через элемент работы с использованием container_of().
Используется disable_delayed_work_sync(), чтобы гарантировать полное остановку воркера и предотвратить любые будущие попытки повторной активации (re-arming). После установки значения NULL для npinfo отправители будут выходить из процесса без постановки новых задач в очередь. Флаг отключения гарантирует, что также молча завершатся неудачно любые находящиеся в процессе выполнения попытки повторной активации.
В будущем очистку можно выполнить инлайн здесь, без необходимости использования поля rcu_head (npinfo->rcu), но это относится к материалам ветки net-next.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.