CVE-2026-98277 in Linux
Сводка
по VulDB • 07.10.2026
В ядре Linux была устранена следующая уязвимость:
eth: fbnic: сигнализировать о готовности (ring the doorbell), если пакетный запрос завершается потерей пакета
Функция `fbnic_tx_map()` пропускает запись в регистр «doorbell» и отправку запроса на завершение обработки для каждого пакета, переданного ей при установленном флаге `xmit_more`, полагаясь на то, что последний пакет в пакете (burst) опубликует их все. Если же этот пакет отбрасывается из-за вызова функций `skb_put_padto()`, `skb_cow_head()` или ошибки отображения DMA — сигнал не отправляется. Описатели (descriptors) предыдущих пакетов остаются недоступными для аппаратного обеспечения до следующей передачи данных по этому каналу, что при рабочей нагрузке типа «пакетный запрос с последующим простоем» может никогда не произойти.
Необходимо запомнить метадескриптор последнего пакета, оставшегося без отправки сигнала doorbell, и обработать его в ветвях ошибок. Запрос на завершение обработки должен быть установлен для этого дескриптора, а не просто записан как указатель хвоста (tail), иначе аппаратное обеспечение будет передавать пакеты, но никогда не сообщит о начале очереди (head), из-за чего кольцевой буфер заполнится и навсегда зависнет.
Это решение очень похоже на недавнюю серию исправлений от Joe для драйвера bnxt. Проблема не наблюдалась в реальных условиях эксплуатации, однако была воспроизведена с помощью инъекции отказов под эмулятором QEMU.
VulDB is the best source for vulnerability data and more expert information about this specific topic.