CVE-2026-31565CVE-2026-31565是Linux内核RDMA子系统中irdma驱动程序的一个安全漏洞。该漏洞发生在网络设备重置且存在活跃RDMA连接的场景下。具体而言,当用户发起netdev reset操作时,底层ice驱动程序会移除irdma辅助驱动,进而触发设备删除及客户端移除流程。在此过程中,uverbs_client组件试图等待队列对(QP)的引用计数降为零,但此时cma_client组件正持有该引用,导致两者形成循环依赖。这种死锁状态会使得iWARP模式下的相关服务陷入无限等待,从而造成系统拒绝服务。
该漏洞根源于Linux内核RDMA子系统中irdma驱动处理并发资源释放时的逻辑缺陷,具体表现为引用计数等待机制与设备卸载流程之间的死锁。在iWARP模式下,当网络接口卡(NIC)进行重置(netdev reset)时,底层的ice驱动会发起移除irdma辅助设备的操作。这一动作触发了内核中设备删除(device_delete)及随后的客户端移除逻辑。
在客户端移除阶段,uverbs_client负责清理用户态相关的资源,它会进入等待状态,直到队列对(QP)的引用计数降为零。然而,此时cma_client(连接管理代理)可能仍持有对QP的最后引用,且由于设备正在重置,该引用无法被正常释放。这导致了uverbs_client等待cma_client释放资源,而cma_client的释放流程又可能被阻塞或处于某种僵持状态,形成了经典的循环等待。
利用该漏洞需要本地访问权限。攻击者可先启动一个RDMA测试工具(如rping)建立并维持活跃连接,随后通过系统调用触发网卡重置。这会导致内核线程陷入死锁,消耗系统资源或导致相关网络服务挂起,实现本地拒绝服务攻击。