CVE-2026-43174Linux内核中的io_uring/zcrx模块在处理关闭队列操作时存在安全漏洞。该问题发生在“开启后错误处理”阶段,原代码在关闭队列时试图直接释放zcrx上下文,但这并不保证所有关联的页池已经终止。这种不正确的资源释放逻辑可能导致引用计数错误,进而引发内核崩溃或其他不可预测的行为。该漏洞允许本地低权限攻击者利用此缺陷破坏系统可用性,CVSS v3.1评分为5.5,属于中危级别。
漏洞位于Linux内核的io_uring子系统,特别是zero-copy receive (zcrx)功能中。在正常流程中,当队列被关闭时,系统应确保所有依赖该队列的资源(如page pools)都已完全清理。然而,受影响的代码路径在错误处理阶段直接释放了zcrx上下文(ctx),而忽略了可能存在的引用计数。这导致了竞态条件:如果页池仍在使用该上下文,而上下文已被释放,后续访问将导致内核内存错误。修复方案是将直接释放改为依赖内核标准的引用计数机制,让系统在引用归零时自动释放资源。攻击者可通过特定的io_uring系统调用序列触发该错误路径,从而造成本地拒绝服务。