IPBUF安全漏洞报告
English
CVE-2026-43453 CVSS 7.1 高危

CVE-2026-43453 Linux内核堆越界读取漏洞

披露日期: 2026-05-08
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-43453
漏洞类型
堆越界读取
CVSS评分
7.1 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelNetfilterOut-of-bounds ReadDoSPrivilege Escalation

漏洞概述

Linux内核netfilter子系统的nft_set_pipapo模块中存在一个堆越界读取漏洞。在pipapo_drop()函数处理规则映射时,由于循环边界检查不当,在最后一次迭代中访问了rulemap数组末尾之后的内存地址。尽管被调用的函数可能不会立即使用该越界值,但参数的求值过程触发了KASAN检测到的越界读取。本地低权限攻击者可利用此漏洞导致内核崩溃或泄露敏感内存信息。

技术细节

该漏洞源于Linux内核netfilter的Pipapo集合实现。在`pipapo_drop`函数中,代码遍历字段以处理规则删除。循环将`rulemap[i+1].n`作为参数传递给`pipapo_unmap`。当`i`等于`m->field_count - 1`(即最大字段数,通常为16)时,`i+1`导致访问`rulemap`数组之外的4字节内存(偏移量164,而数组结束于160)。虽然`pipapo_unmap`在`is_last`为真时会提前返回,但在C语言调用约定中,函数参数是在进入函数体之前求值的。因此,即使函数内部未使用该值,这种越界读取行为确实发生了。KASAN(内核地址消毒剂)报告了此堆越界读取。由于这是堆栈内存读取,攻击者可能利用此行为读取堆栈上的其他数据,或者触发内核错误导致拒绝服务。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的本地低权限访问权限(AV:L, PR:L)。
STEP 2
步骤2
攻击者在系统中配置nftables规则,特别是使用Pipapo类型的集合,并构造特定的数据结构。
STEP 3
步骤3
攻击者执行删除规则或集合的操作,触发内核中的pipapo_drop()函数。
STEP 4
步骤4
函数在处理最后一次迭代时读取堆栈越界内存,可能导致内核崩溃(DoS)或信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * Conceptual PoC for CVE-2026-43453 * Triggering the stack out-of-bounds read in pipapo_drop(). */ #include <stdio.h> // Note: This vulnerability is within the Linux Kernel (netfilter). // It requires a specific kernel version and local access to trigger. // The following steps describe the logic to reproduce: // // 1. Load the nf_tables module. // 2. Create an nftables table. // 3. Create a 'set' with type 'pipapo' (e.g., for IPv4 addresses). // 4. Populate the set such that the internal structure utilizes NFT_PIPAPO_MAX_FIELDS. // 5. Perform a deletion operation on the set or elements to invoke pipapo_drop(). // 6. Monitor kernel logs for KASAN report: // "BUG: KASAN: stack-out-of-bounds in pipapo_drop+0x50c/0x57c [nf_tables]" int main() { printf("To test this CVE, run the following commands on a vulnerable kernel:\n"); printf("1. nft add table ip filter\n"); printf("2. nft add set ip filter my_set { type ipv4_addr; flags interval; }\n"); printf("3. [Manipulate set to reach max fields/complexity]\n"); printf("4. nft delete set ip filter my_set\n"); printf("5. Check dmesg for out-of-bounds read.\n"); return 0; }

影响范围

Linux Kernel v6.5
Linux Kernel v6.4
Linux Kernel v6.1
Linux Kernel v5.15

防御指南

临时缓解措施
建议立即更新Linux内核以修复此漏洞。如果无法立即更新,应限制本地用户的权限,防止其能够操作nftables规则,从而降低风险。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表