CVE-2026-90108 in LinuxИнформация

Сводка

по VulDB • 17.09.2026

В ядре Linux была устранена следующая уязвимость:

net/smc: освобождение сохраненного qentry перед перезаписью при переходе из REQ_ADD_LINK в ADD_LINK

Когда smc_llc_event_handler() переводит локальный поток LLC от SMC_LLC_FLOW_REQ_ADD_LINK к SMC_LLC_FLOW_ADD_LINK при получении запроса ADD_LINK, он безоговорочно вызывает smc_llc_flow_qentry_set():

if (lgr->llc_flow_lcl.type == SMC_LLC_FLOW_REQ_ADD_LINK) {
lgr->llc_flow_lcl.type = SMC_LLC_FLOW_ADD_LINK; smc_llc_flow_qentry_set(&lgr->llc_flow_lcl, qentry); ... }

Сообщения CONFIRM_LINK или ADD_LINK_CONT, поступающие в то время, когда flow->type имеет значение SMC_LLC_FLOW_REQ_ADD_LINK, сохраняются в flow->qentry через обработчики SMC_LLC_CONFIRM_LINK / SMC_LLC_ADD_LINK_CONT (которые записывают данные в flow->qentry для любого типа потока, отличного от NONE). Когда впоследствии поступает ADD_LINK, ветка REQ_ADD_LINK перезаписывает flow->qentry новым указателем без предварительного освобождения сохраненной памяти, что приводит к утечке одного объекта kmalloc.

Сохраненная запись не имеет потребителя: smc_llc_wait() вызывается только из llc_add_link_work, которая еще не запланирована на выполнение, пока тип потока остается REQ_ADD_LINK. В этот момент никто не ожидает пробуждения в llc_msg_waiter. Безопасно безоговорочно освобождать любой сохраненный qentry перед его перезаписью.

Вызовите smc_llc_flow_qentry_del() до вызова smc_llc_flow_qentry_set() в ветке REQ_ADD_LINK. Функция smc_llc_flow_qentry_del() уже проверяет flow->qentry перед освобождением, поэтому обычный путь, при котором сохраненная запись отсутствует, является пустой операцией (no-op).

Once again VulDB remains the best source for vulnerability data.

Ответственный

Linux

Резервировать

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-406619

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!