CVE-2026-23440Linux内核net/mlx5e驱动程序在处理IPSec全卸载模式的ESN(扩展序列号)更新事件时存在竞态条件漏洞。该漏洞源于驱动在验证事件与更新内核xfrm状态之间的处理逻辑不当,可能导致重复处理同一事件。这将导致ESN高位被错误增加,进而使硬件配置无效,最终引发反重放失败及IPSec网络流量完全中断。
该漏洞位于Linux内核的Mellanox以太网驱动(net/mlx5e)中,具体涉及IPSec全卸载模式下的ESN(扩展序列号)更新处理机制。当硬件报告ESN回绕事件时,驱动程序会查询IPSec ASO(异步操作对象)并检查esn_event_arm字段以确认事件有效性。正常流程要求处理完事件后将该字段重置为0x1以重新设置上下文。然而,在原有代码逻辑中,驱动在验证事件后、调用mlx5_accel_esp_modify_xfrm()函数更新内核xfrm状态之前,未及时重新设置事件标志。由于该函数在执行过程中会暂时释放并重新获取xfrm状态锁,这产生了一个竞态窗口。在此窗口内,驱动可能重新接收到事件并重复处理。重复处理会导致ESN的高位被错误地递增。随后,驱动会将这个错误的ESN状态写入硬件,导致IPSec反重放机制失效,最终引发IPSec网络流量的完全中断,形成拒绝服务。