IPBUF安全漏洞报告
English
CVE-2026-43129 CVSS 5.5 中危

CVE-2026-43129 Linux内核IMA缓冲区验证缺失漏洞

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

漏洞信息

漏洞编号
CVE-2026-43129
漏洞类型
内存验证错误
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux内核拒绝服务内存安全kexecCVE-2026-43129DoS

漏洞概述

Linux内核在处理IMA测量列表恢复时存在漏洞。当通过kexec启动第二阶段内核并使用限制内存的命令行参数(如“mem=<size>”)时,前一个内核传递的IMA测量缓冲区可能位于新内核的可寻址RAM之外。由于缺乏对物理地址范围的验证,内核在尝试访问该缓冲区时会触发页错误,导致系统崩溃。该补丁引入了ima_validate_range()辅助函数来确保IMA缓冲区位于可寻址内存范围内,从而防止非法内存访问引发的拒绝服务。

技术细节

该漏洞源于Linux内核在kexec启动过程中未能验证前一个内核传递的IMA缓冲区物理地址的有效性。在kexec机制中,系统需要将前一个内核的IMA测量日志传递给新内核以维护度量链。然而,如果新内核使用了`mem=`参数限制可用内存范围,而旧内核传递的IMA缓冲区地址落在这个范围之外,新内核在调用`ima_restore_measurement_list()`时会尝试访问无效的物理页面。漏洞代码直接使用了传递过来的缓冲区指针,而没有调用pfn_range_is_mapped()或page_is_ram()来确认地址范围的有效性。本地低权限攻击者可通过构造启动参数,诱使内核访问非法地址,触发页错误异常,导致内核Panic和系统拒绝服务。

攻击链分析

STEP 1
步骤1
攻击者获取本地低权限访问权限,并能够影响内核启动参数或执行kexec操作。
STEP 2
步骤2
攻击者配置kexec加载新内核,并在命令行中添加限制内存的参数(如'mem=1G')。
STEP 3
步骤3
系统执行kexec重启,新内核开始启动并尝试恢复前一个内核的IMA测量列表。
STEP 4
步骤4
由于内存限制,IMA缓冲区地址位于新内核认为不可用的物理内存区域。
STEP 5
步骤5
内核访问该非法地址,触发页错误(Page Fault),导致内核崩溃(Kernel Panic)。
STEP 6
步骤6
系统发生拒绝服务,无法正常启动或运行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # This PoC demonstrates the scenario triggering the vulnerability. # It assumes the attacker has root privileges to load a kexec kernel. # 1. Prepare a kernel image (e.g., /boot/vmlinuz) KERNEL_IMAGE="/boot/vmlinuz-$(uname -r)" # 2. Prepare a limiting initrd (standard) INITRD_IMAGE="/boot/initrd.img-$(uname -r)" # 3. Load the kernel with a memory limit (e.g., 1GB) # This forces the IMA buffer (if located > 1GB) to be outside addressable RAM. echo "[*] Loading kernel with memory limit..." kexec -l "$KERNEL_IMAGE" --initrd="$INITRD_IMAGE" --command-line="root=/dev/sda1 ro mem=1G quiet" # 4. Execute kexec to reboot into the new kernel # If the IMA buffer is above 1GB, the new kernel will crash on boot. echo "[*] Executing kexec..." kexec -e # Note: The crash occurs in ima_restore_measurement_list() during early boot.

影响范围

Linux Kernel (特定修复前版本)

防御指南

临时缓解措施
建议立即升级操作系统内核以应用官方修复补丁。在无法升级的情况下,应严格限制系统管理员权限,防止未授权的用户执行kexec操作,并确保启动配置不会在物理内存布局上制造IMA缓冲区无法访问的情况。

参考链接

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