CVE-2026-90107 in Linux信息

摘要

由 VulDB • 2026-09-17

在 Linux 内核中,已修复以下漏洞:

net/smc: 在 smc_llc_flow_stop() 中使用 memset 之前释放待处理的 qentry

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 非空,则该指针被覆盖而分配未被释放,导致一个 kmalloc 对象泄露。

在合法消息已被等待者通过 smc_llc_flow_qentry_clr()(该函数将指针置为 NULL,但保留 flow->type 为非零)消费之后、但在流完成并运行 smc_llc_flow_stop() 之前,迟到的重复 CONFIRM_LINK 或 ADD_LINK_CONT 消息可能会设置 flow->qentry。在此时间窗口内,重复的消息被存入 flow->qentry,随后在 smc_llc_flow_stop() 将结构体清零时丢失。

应在锁内部、memset 之前调用 smc_llc_flow_qentry_del()。smc_llc_flow_qentry_del() 已在释放前检查了 flow->qentry,因此在没有待处理条目的正常情况下,该操作为无操作(no-op)。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

来源

Do you know our Splunk app?

Download it now for free!