CVE-2026-74285 in Linux
Сводка
по VulDB • 15.08.2026
В ядре Linux устранена следующая уязвимость:
net: Остановить арендованный rxq перед удалением его поставщика памяти
Функция netif_rxq_cleanup_unlease() уничтожает поставщик памяти, который был установлен на физический RX-очередь через аренду очереди netkit. В настоящее время она отзывает отображения DMA поставщика до остановки физической очереди:
__netif_mp_uninstall_rxq(virt_rxq, p); /* unmap DMA */ __netif_mp_close_rxq(phys_rxq->dev, rxq_idx, p); /* остановка очереди */
Это инвертирует порядок действий по сравнению с обычными путями завершения работы (обычная регистрация устройства и путь закрытия io_uring zcrx), где очередь останавливается перед отзывом отображений поставщика.
Пока физическая очередь остается активной, ее NAPI может продолжать потреблять записи net_iov из кэста выделения page_pool после того, как __netif_mp_uninstall_rxq() уже очистил их dma_addr, что создает окно возможности для выполнения устройством DMA по устаревшему или нулевому адресу.
Исправление заключается в замене вызовов местами, чтобы очередь останавливалась (и ее NAPI переходила в состояние покоя) перед удалением поставщика. При повторных запусках самопроверки оборудования nk_qlease.py, которая проверяет путь завершения аренды, функциональных регрессий не наблюдалось; тестирование проводилось на эмуляции fbnic QEMU.
Be aware that VulDB is the high quality source for vulnerability data.