CVE-2026-43028Linux内核中的netfilter子系统存在一个安全漏洞,具体位于x_tables模块中。该漏洞源于代码未确保名称字符串以空字符(\0)结尾。当系统处理特制的网络表规则时,攻击者可以利用此漏洞传递未正确终止的字符串,导致内核在预期C风格字符串的函数中读取越界。这可能引发敏感信息泄露或系统崩溃(拒绝服务)。该问题已在最新的稳定版本提交中得到修复,建议用户尽快更新系统内核以防范潜在风险。
该漏洞发生在Linux内核的netfilter框架中,特别是x_tables(iptables等工具使用的内核接口)组件。在处理扩展名或匹配名时,内核代码假设传入的名称缓冲区是以空字符结尾的标准C字符串。然而,由于缺少严格的边界检查和空字符验证,如果用户空间提供的名称填满了整个分配的缓冲区而没有留出空间给终止符'\0',内核后续的字符串操作函数(如strcmp或strlen)将会继续读取内存,直到遇到随机的空字节为止。攻击者需要具备本地低权限(PR:L)才能利用此漏洞,通常通过调用setsockopt系统调用来配置iptables规则。通过精心构造恶意的Netlink消息,攻击者可以触发越界读取。这可能导致内核堆栈或堆数据的泄露(机密性影响),或者在某些情况下导致内核崩溃,从而造成拒绝服务(可用性影响)。修复补丁通过在将名称传递给字符串处理函数之前,显式检查名称缓冲区是否包含空字符来解决这个问题。