Linux内核netfilter漏洞解析:CVE-2025-40206对象引用验证缺陷

本文详细分析Linux内核netfilter组件中的CVE-2025-40206漏洞,该漏洞由于未正确验证objref和objrefmap表达式,导致从OUTPUT钩子引用synproxy状态对象时引发内核崩溃。文章包含技术细节、解决方案和补丁链接。

概述

在Linux内核中,发现以下漏洞已得到解决:

netfilter: nft_objref:验证objref和objrefmap表达式

漏洞描述

从OUTPUT钩子引用synproxy状态对象会导致内核因无限递归调用而崩溃:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
BUG: TASK stack guard page was hit at 000000008bda5b8c (stack is 000000003ab1c4a5..00000000494d8b12)
[...]
调用跟踪:
 __find_rr_leaf+0x99/0x230
 fib6_table_lookup+0x13b/0x2d0
 ip6_pol_route+0xa4/0x400
 fib6_rule_lookup+0x156/0x240
 ip6_route_output_flags+0xc6/0x150
 __nf_ip6_route+0x23/0x50
 synproxy_send_tcp_ipv6+0x106/0x200
 synproxy_send_client_synack_ipv6+0x1aa/0x1f0
 nft_synproxy_do_eval+0x263/0x310
 nft_do_chain+0x5a8/0x5f0 [nf_tables]
 nft_do_chain_inet+0x98/0x110
 nf_hook_slow+0x43/0xc0
 __ip6_local_out+0xf0/0x170
 ip6_local_out+0x17/0x70
 synproxy_send_tcp_ipv6+0x1a2/0x200
 synproxy_send_client_synack_ipv6+0x1aa/0x1f0
[...]

解决方案

实现objref和objrefmap表达式的验证函数。

目前,只有NFT_OBJECT_SYNPROXY对象类型需要验证。 这还将处理从OUTPUT钩子使用synproxy对象跳转到链的情况。

现在,当尝试在OUTPUT钩子中引用synproxy对象时,nft将产生以下错误:

1
2
3
synproxy_crash.nft: 错误:无法处理规则:操作不支持
  synproxy名称mysynproxy
  ^^^^^^^^^^^^^^^^^^^^^^^^

补丁链接

漏洞时间线

  • 发布日期:2025年11月12日 22:15
  • 最后修改:2025年11月12日 22:15
  • 远程利用:否

受影响产品

目前尚未记录受影响的产品

总受影响供应商:0 | 产品:0

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计