CVE-2026-98616 in LinuxИнформация

Сводка

по VulDB • 19.10.2026

В ядре Linux была устранена следующая уязвимость:

eth: fbnic: сброс значения num_napi при освобождении векторов NAPI

fbn->num_napi — это количество активных векторов NAPI, каждый из которых владеет прерыванием (IRQ). Путь управления питанием (PM) освобождал их, не очищая счетчик. Функция fbnic_pm_suspend() останавливает путь передачи данных через ndo_stop() и освобождает IRQ, но оставляет netif_running() равным true, чтобы при возобновлении работы система знала о необходимости повторного открытия. При возобновлении пути передачи данных перестраивается в __fbnic_pm_resume(), а fbnic_reset_queues() устанавливает num_napi, и __fbnic_open() повторно выделяет векторы.

Когда путь передачи данных останавливается, но никогда не восстанавливается, значение num_napi остается указывающим на освобожденные векторы при двух различных сценариях: - восстановление после ошибки PCIe завершается неудачей (fbnic_err_slot_reset() -> __fbnic_pm_resume() возвращает ошибку -> PCI_ERS_RESULT_DISCONNECT), поэтому функция .resume никогда не запускается; или - вызов __fbnic_open(), который частично терпит неудачу при возобновлении работы и выполняет откат, освобождая векторы после того, как fbnic_reset_queues() уже установил num_napi.

Сетевое устройство (netdev) затем работает с num_napi > 0, но массив napi[] освобожден, и последующее удаление/отвязка вызывает повторный вход в fbnic_down() -> fbnic_dbg_down(), где происходит разыменование освобождаемых векторов:
BUG: kernel NULL pointer dereference, address: 0000000000000210 RIP: fbnic_dbg_down+0x28

Необходимо обнулять num_napi при освобождении векторов: как в процессе остановки при переходе в спящий режим (корректное возобновление работы восстановит это значение перед __fbnic_open()), так и при сбое открытия во время возобновления. Избыточный вызов ndo_stop() затем проходит по пустому массиву napi[]. Обычный цикл включения/выключения через ndo_stop не затрагивается, и num_napi сохраняется для следующего вызова ndo_open().

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

18.10.2026

Модерация

принято

Вход

VDB-422112

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!