CVE-2026-23231
netfilter: nf_tables: 修复 nf_tables_addchain() 中的释放后使用
- 已发布
- 2026年3月4日
- 已更新
- 2026年9月8日
- 分配 CNA
- Linux
- 观察到的证据
- 2026年5月4日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 54.3%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在 Linux 内核中,以下漏洞已修复:netfilter: nf_tables: 修复 nf_tables_addchain() 中的 use-after-free。nf_tables_addchain() 在注册钩子之前,通过 list_add_tail_rcu()(在 nft_chain_add() 中)将链发布到 table->chains。如果随后 nf_tables_register_hook() 失败,错误路径会调用 nft_chain_del()(list_del_rcu()),然后调用 nf_tables_chain_destroy(),两者之间没有 RCU 宽限期。这会引发两种 use-after-free 情况:1) 控制面:nf_tables_dump_chains() 在 rcu_read_lock() 下遍历 table->chains。当错误路径释放该链时,并发的转储可能仍在遍历该链。2) 数据包路径:对于 NFPROTO_INET,nf_register_net_hook() 会先短暂安装 IPv4 钩子,然后 IPv6 注册失败。当错误路径释放该链时,通过临时 IPv4 钩子进入 nft_do_chain() 的数据包可能仍在解引用 chain->blob_gen_X。在 nft_chain_del() 与链销毁之间添加 synchronize_rcu(),以确保所有 RCU 读者(包括转储线程和在途数据包评估)都在链被释放之前完成。
来源
1aviralyash27 · linux · 2026年5月4日
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。