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

CVE-2026-43177 Linux内核IPU6驱动资源泄漏漏洞

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

漏洞信息

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

相关标签

Linux Kernel资源管理错误拒绝服务本地漏洞IPU6

漏洞概述

Linux内核中的media: ipu6组件存在资源管理漏洞。在ipu6_pci_probe()函数的错误处理路径中,代码直接跳转到清理步骤而未释放此前获取的运行时电源管理(RPM)引用。这种引用计数的不匹配会导致资源泄漏,影响系统可用性。修复方案是在清理其他资源前增加pm_runtime_put_sync()调用,确保正确释放引用。

技术细节

该漏洞位于Linux内核的IPU6驱动程序中,涉及运行时电源管理(RPM)引用计数的处理。在设备探测阶段,驱动调用pm_runtime_get_sync()增加设备的PM引用计数,以防止设备在关键初始化步骤中进入休眠。然而,如果在后续初始化过程中发生错误(例如ipu6_bus_add_devices调用失败),代码执行流会直接跳转到out_ipu6_bus_del_devices标签进行错误处理。问题在于,该跳转发生前未执行配对的pm_runtime_put_sync()调用。这导致设备的PM引用计数永久大于零,使得系统无法将该设备置于低功耗状态或正确卸载。攻击者利用本地低权限触发此探测失败路径,可导致系统资源锁定,最终引发拒绝服务。

攻击链分析

STEP 1
步骤1
攻击者获取本地低权限用户访问权限(PR:L)。
STEP 2
步骤2
攻击者尝试加载或触发Linux内核中的ipu6驱动程序进行初始化。
STEP 3
步骤3
通过特定环境或操作诱导ipu6_pci_probe()函数在获取RPM引用后执行失败路径。
STEP 4
步骤4
错误处理路径执行,由于缺少put操作,导致RPM引用计数泄漏(A:H)。
STEP 5
步骤5
系统资源无法回收,最终导致设备挂起或系统拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept for CVE-2026-43177 * This C code snippet demonstrates the logic flaw. * Triggering this requires the IPU6 hardware and forcing a probe failure. */ #include <linux/module.h> #include <linux/pm_runtime.h> void vulnerable_function(struct device *dev) { // Acquire RPM reference pm_runtime_get_sync(dev); // Simulate an error condition in probe int error = -1; if (error) { // BUG: Jumping to cleanup without pm_runtime_put_sync(dev) goto cleanup; } // Normal operation... pm_runtime_put_sync(dev); return; cleanup: // Missing pm_runtime_put_sync(dev) here causes the leak printk(KERN_ERR "Resource leaked: RPM reference not released\n"); }

影响范围

Linux Kernel (Versions prior to commit 364759ccc3fb49754758c585c530407f96683030)
Linux Kernel (Versions prior to commit 3cd9e7539a3010a83391fecade1186cf30e616c9)

防御指南

临时缓解措施
如果不需要使用IPU6硬件,可以在系统中禁用该驱动模块(blacklist),以防止漏洞被触发。

参考链接

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