CVE-2025-71160CVE-2025-71160是Linux内核netfilter子系统中nf_tables模块的一个拒绝服务漏洞。该漏洞源于nft_chain_validate()函数在验证链时存在性能问题,当nf_tables遍历整个表(链图)时,从入口点(基础链)开始探索所有可能的路径(链跳转),导致CPU软锁锁(soft lockup)。攻击者可以通过创建特定的链跳转规则,使验证函数陷入无限循环或长时间占用CPU资源,从而造成系统拒绝服务。此漏洞需要本地低权限访问即可触发,CVSS评分为5.5,属于中等严重程度。漏洞影响Linux内核的nf_tables组件,攻击者可利用精心构造的iptables规则触发该问题。
该漏洞存在于Linux内核的netfilter: nf_tables模块中。在nf_tables_validate()函数执行期间,系统会遍历整个表结构,从基础链开始探索所有可能的跳转路径。当处理复杂的链跳转关系时(如:input -> j2 -> j3、input -> j2 -> j3、input -> j1 -> j2 -> j3),nft_chain_validate()会对每个规则重复验证相同的链,导致不必要的重复验证和潜在的无限递归。当前实现没有缓存已验证链的结果,造成CPU资源被长时间占用。攻击者可以通过创建包含多个链跳转的iptables规则来触发此漏洞,表现为watchdog报错"BUG: soft lockup - CPU#X stuck for Xs"。虽然漏洞不直接导致代码执行或数据泄露,但会造成系统可用性完全丧失。修复方案需要记录链的基链上下文(类型、hooknum),并在链被不同hook位置可达时重新验证,同时缓存已验证链的结果以避免重复验证。