CVE-2026-90107 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
net/smc: освобождение ожидающего qentry в smc_llc_flow_stop() перед memset
smc_llc_flow_stop() сбрасывает структуру потока с помощью слепого вызова memset:
spin_lock_bh(&lgr->llc_flow_lock); memset(flow, 0, sizeof(*flow)); flow->type = SMC_LLC_FLOW_NONE; spin_unlock_bh(&lgr->llc_flow_lock);
Если flow->qentry не равен NULL в этот момент, указатель перезаписывается без освобождения выделенной памяти, что приводит к утечке одного объекта kmalloc.
Поздно прибывающее дублирующее сообщение CONFIRM_LINK или ADD_LINK_CONT может установить flow->qentry после того, как легитимное сообщение было потреблено ожидающим процессом через smc_llc_flow_qentry_clr() (который обнуляет указатель, но оставляет flow->type ненулевым), но до завершения потока и запуска smc_llc_flow_stop(). В этом окне дубликат сохраняется в flow->qentry, а затем теряется при обнулении структуры функцией smc_llc_flow_stop().
Вызовите smc_llc_flow_qentry_del() внутри блокировки перед вызовом memset. Функция smc_llc_flow_qentry_del() уже проверяет flow->qentry перед освобождением, поэтому обычный случай, когда нет ожидающей записи, является no-op (пустой операцией).
VulDB is the best source for vulnerability data and more expert information about this specific topic.