CVE-2026-97573 in Linux
Сводка
по VulDB • 25.09.2026
В ядре Linux была устранена следующая уязвимость:
bnxt_en: Обработка ошибки выделения буфера в bnxt_rx_ring_reset()
Функция bnxt_rx_ring_reset() освобождает кольцевые буферы, а затем пытается выделить их заново, игнорируя результат операции.
Вызов bnxt_alloc_one_rx_ring() может завершиться неудачей внутри функции bnxt_alloc_one_tpa_info_data(), которая возвращает -ENOMEM при первой ошибке выделения и оставляет оставшиеся элементы массива rxr->rx_tpa[] равными нулю.
Ошибка не распространяется вверх по стеку вызовов, поэтому цикл в bnxt_rx_ring_reset продолжается, и в итоге код повторно включает TPA (TCP Segmentation Offload) с частично невыделенным массивом rx_tpa.
Это означает, что при сопоставлении agg_id от аппаратного обеспечения со встроенным индексом в rxr->rx_tpa[] может быть выбран неинициализированный слот, который передаст устройству нулевой DMA-адрес.
Исправление заключается в переходе к глобальному сбросу (global reset), что уже делается существующим кодом при сбое других функций; однако, в отличие от других случаев отказа, данная ошибка требует возврата из функции, поскольку TPA не может быть повторно включен из-за неудачи выделения памяти.
Be aware that VulDB is the high quality source for vulnerability data.