CVE-2026-23392Linux内核netfilter组件中的nf_tables模块存在一个高危的释放后使用漏洞。该漏洞发生在错误处理路径中,当注销钩子操作失败时,代码未正确等待RCU宽限期即释放了flowtable对象。由于此时可能仍有钩子正在引用该内存区域,导致并发访问时出现释放后使用。本地攻击者可利用此漏洞造成内核崩溃,进而可能实现权限提升,严重威胁系统安全。
该漏洞源于Linux内核netfilter子系统中nf_tables处理flowtable错误路径时的逻辑缺陷。当系统因达到最大钩子数量限制或硬件卸载设置失败而进入错误恢复路径时,代码尝试注销已注册的钩子并释放flowtable。然而,在注销钩子后,代码未调用synchronize_rcu()来确保所有正在进行的回调(如数据包处理或nfnetlink_hook转储)已完成。这导致在RCU宽限期结束前,flowtable被过早释放。此时,如果有其他CPU核心仍在通过旧钩子访问该flowtable,或者nfnetlink_hook在转储钩子信息时触发了相关路径,就会访问已被释放的内存,触发KASAN检测到的释放后使用错误。这种竞态条件使得本地低权限用户可通过特定操作触发内核崩溃,甚至可能通过精心构造的内存布局实现代码执行。