CVE-2026-80984 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
net/smc: не разыменовывать несуществующий буфер отправки на пути завершения работы SMC-D
Функция smc_close_stream_wait() вызывает smc_tx_prepared_sends() внутри условия sk_wait_event(), и sk_wait_event() оценивает это условие один раз с освобождённой блокировкой сокета. Функция smcd_buf_detach() очищает conn->sndbuf_desc из smc_conn_kill() под блокировкой lock_sock(), поэтому завершение работы группы каналов (link group) во время ожидания сокетом приводит к тому, что вспомогательная функция пытается разыменовать NULL-указатель, вызывая сбой при закрытии. SIOCOUTQ считывает это поле вручную, а smc_close_cancel_work() отпускает блокировку между двумя вызовами cancel_*_sync().
Необходимо один раз выбрать указатель во вспомогательной функции, не сообщать о подготовленных данных, пока он не установлен, и ограничить работу ioctl аналогичным образом. Задача приема (receive tasklet) разыменовывает это поле напрямую в smc_cdc_msg_recv_action(), а не через эту вспомогательную функцию; именно 1/2 предотвращает её запуск на таком позднем этапе.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.