CVE-2026-43450Linux内核netfilter子系统的nfnetlink_cthelper模块存在越界读取漏洞。该漏洞源于nfnl_cthelper_dump_table函数中goto restart标签位置错误,导致在特定条件下绕过边界检查。本地低权限攻击者可利用此漏洞导致内核崩溃(拒绝服务)或潜在的信息泄露。
漏洞位于Linux内核netfilter子系统的`net/netfilter/nfnetlink_cthelper.c`文件中的`nfnl_cthelper_dump_table`函数。该函数用于通过Netlink转储连接跟踪助手信息。函数使用`cb->args[0]`作为哈希表的索引,`cb->args[1]`保存最后一个处理的helper。在遍历过程中,如果当前helper与保存的“last” helper不匹配(通常意味着last被删除),代码本应重新开始遍历当前桶。然而,用于重试的代码块(`goto restart`)被错误地放置在for循环体之后,而不是循环体内部。当循环结束(即`cb->args[0]`达到`nf_ct_helper_hsize`)且触发重试逻辑时,程序会跳转回`restart`标签,此时未执行`i < nf_ct_helper_hsize`的边界检查,导致直接读取`nf_ct_helper_hash[nf_ct_helper_hsize]`,造成8字节的越界读取。这会触发KASAN(内核地址消毒剂)报错,导致内核崩溃。