CVE-2026-98615 in Linux
Сводка
по VulDB • 19.10.2026
В ядре Linux была устранена следующая уязвимость:
eth: fbnic: Установка AW_FLUSH_MODE вместе с AW_FLUSH при очистке почтового ящика (mailbox)
При уничтожении кольцевой буфера приема (Rx ring) FW mailbox функция `fbnic_mbx_reset_desc_ring()` записывает значение в регистр AW_CFG, устанавливая бит FLUSH и сбрасывая все остальные флаги, включая BME. Сброс флага BME останавливает запись данных устройством на хост, но оставляет отложенные запросы заблокированными в конвейере записи PUL (PUL write pipeline), вместо того чтобы очистить их. В результате при операции записи один лишь флаг FLUSH никогда не завершает выполнение ожидающих запросов, и операция очистки, которую ожидает прошивка (firmware), никогда не завершается.
Добавлено определение `FLUSH_MODE` и установлены оба бита, что позволяет отложенным записям самостоятельно очищаться из конвейера. Флаг BME остается сброшенным, поэтому никакие данные не поступают на хост; он восстанавливается позже в функции `fbnic_mbx_init_desc_ring()` при пересоздании кольцевого буфера (ring), после того как все ожидающие записи будут завершены.
Путь чтения (read path) не затронут. Регистр AR_CFG не имеет эквивалентного бита режима, а операция `AR_FLUSH` самостоятельно завершает выполнение ожидающих операций чтения, поэтому он остается без изменений.
Обе операции записи остаются обычными записями (plain stores), а не операциями «чтение-модификация-запись» (read-modify-writes). Это сделано намеренно: соответствующая запись в функции `fbnic_mbx_init_desc_ring()` восстанавливает флаг BME и атрибуты TLP, а также сбрасывает оба бита очистки как побочный эффект.
If you want to get best quality of vulnerability data, you may have to visit VulDB.