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

CVE-2026-23464 Linux内核内存泄漏漏洞

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

漏洞信息

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

相关标签

Memory LeakLinux KernelDoSMicrochipLocal

漏洞概述

Linux内核中的Microchip PolarFire SoC系统控制器驱动存在内存泄漏漏洞。在mpfs_sys_controller_probe函数中,当of_get_mtd_device_by_node调用失败时,函数直接返回而未释放已分配的sys_controller内存。此外,mbox_request_channel失败时的错误处理也存在同样问题,导致内核内存资源泄漏。

技术细节

该漏洞位于Linux内核的drivers/soc/microchip/mpfs-sys-controller.c驱动文件中。在mpfs_sys_controller_probe探测函数执行期间,系统首先为sys_controller结构体分配内存。随后调用of_get_mtd_device_by_node()尝试获取设备节点。如果该函数返回失败(例如节点不存在或不可用),原始代码直接返回错误码,跳过了内存释放步骤。同理,mbox_request_channel()失败时也未正确清理资源。这种逻辑缺陷导致每次探测失败都会泄漏一块内存。本地攻击者可通过反复加载卸载驱动或触发设备探测失败,逐渐耗尽内核内存,最终导致系统拒绝服务。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者需要获取本地低权限账户(PR:L),能够加载内核模块或触发硬件探测。
STEP 2
步骤2:触发探测函数
攻击者通过特定操作(如模块加载、设备树操作)触发mpfs_sys_controller_probe函数执行。
STEP 3
步骤3:诱导错误发生
构造条件使得of_get_mtd_device_by_node或mbox_request_channel调用失败。
STEP 4
步骤4:内存泄漏
探测函数因错误直接返回,未释放sys_controller内存,导致内核内存泄漏。
STEP 5
步骤5:拒绝服务
攻击者重复上述步骤,耗尽系统内存,导致系统崩溃或服务不可用(A:H)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * Conceptual PoC for CVE-2026-23464 Memory Leak * This snippet demonstrates the vulnerable logic in mpfs_sys_controller_probe. */ #include <linux/errno.h> #include <linux/module.h> #include <linux/of.h> #include <linux/slab.h> struct mpfs_sys_controller { int dummy; }; // Simulating the vulnerable function logic static int vulnerable_probe(struct device *dev) { struct mpfs_sys_controller *sys_controller; // Step 1: Allocate memory sys_controller = kzalloc(sizeof(*sys_controller), GFP_KERNEL); if (!sys_controller) return -ENOMEM; // Step 2: Call function that might fail // of_get_mtd_device_by_node returns NULL or error here if (!of_get_mtd_device_by_node(dev->of_node)) { // VULNERABILITY: Returns immediately without freeing sys_controller return -ENODEV; } // Normal cleanup... kfree(sys_controller); return 0; }

影响范围

Linux Kernel < Commit 17c84fb7cf3971cc621646185d785670e9530ca1
Linux Kernel < Commit 5a741f8cc6fe62542f955cd8d24933a1b6589cbd

防御指南

临时缓解措施
如果无法立即升级内核,建议限制本地用户对系统资源的访问权限,并监控内核内存使用情况,一旦发现异常内存占用及时重启系统。

参考链接

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