IPBUF安全漏洞报告
English
CVE-2026-43460 CVSS 7.8 高危

CVE-2026-43460: Linux内核rockchip-sfc驱动双重释放漏洞

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

漏洞信息

漏洞编号
CVE-2026-43460
漏洞类型
双重释放
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Double FreeLinux KernelPrivilege EscalationDoSDriver

漏洞概述

Linux内核中的rockchip-sfc驱动程序存在一个双重释放漏洞。该驱动在移除回调函数中手动调用了`spi_unregister_controller()`,但由于在探测函数中使用了`devm_spi_register_controller()`进行注册,这会导致设备移除时自动触发注销操作。这种机制冲突造成了控制器被注销两次,从而引发双重释放错误。此漏洞可能被本地攻击者利用,导致系统崩溃、拒绝服务或潜在的权限提升。

技术细节

该漏洞的根本原因在于资源管理机制的冲突。在Linux内核驱动开发中,`devm_spi_register_controller`函数利用设备资源管理机制,会在设备卸载时自动调用`spi_unregister_controller`来清理资源。然而,该驱动的`remove`函数中也显式调用了`spi_unregister_controller`。当设备被移除时,`devm`机制先触发自动注销,随后`remove`函数再次执行注销,导致同一个控制器对象被释放两次(Double Free)。这种内存破坏行为可能覆盖内核数据结构。此外,原代码中存在资源释放顺序问题,即DMA缓冲区可能在控制器注销前被取消映射。修复方案将探测函数中的注册方式改为非托管的`spi_register_controller`,从而精确控制资源释放的顺序,确保控制器在DMA缓冲区处理前被注销。本地低权限用户可通过触发设备卸载流程来利用此漏洞,引发内核崩溃或执行任意代码。

攻击链分析

STEP 1
步骤1: 获取本地访问权限
攻击者需要具备本地系统的低权限用户访问能力。
STEP 2
步骤2: 触发设备移除
通过系统调用或硬件操作触发rockchip-sfc设备的卸载流程。
STEP 3
步骤3: 执行漏洞代码
内核执行驱动的remove回调函数,由于管理机制冲突导致重复释放内存。
STEP 4
步骤4: 造成影响
引发内核崩溃(DoS)或通过堆喷射利用该UAF/Double Free实现提权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * Conceptual PoC for Vulnerable Logic * This demonstrates the double-free scenario in rockchip-sfc driver. */ #include <linux/module.h> #include <linux/spi/spi.h> #include <linux/platform_device.h> static int probe(struct platform_device *pdev) { struct spi_controller *ctrl; // Allocate controller ctrl = spi_alloc_controller(&pdev->dev, 0); if (!ctrl) return -ENOMEM; // VULNERABILITY: Using managed register which auto-cleans on remove return devm_spi_register_controller(&pdev->dev, ctrl); } static int remove(struct platform_device *pdev) { struct spi_controller *ctrl = platform_get_drvdata(pdev); // VULNERABILITY: Manual unregister causes Double Free // because devm_spi_register_controller already queued a cleanup. spi_unregister_controller(ctrl); return 0; }

影响范围

Linux Kernel < v6.9 (Commit 111e2863372c)
Linux Kernel < v6.8 (Commit 85fb53351e6a)
Linux Kernel < v6.6 (Commit b6051f2bdd4b)

防御指南

临时缓解措施
建议立即更新系统内核以应用官方补丁,该补丁将注册方式修改为非托管的`spi_register_controller`以规范资源释放顺序。在未更新前,应严格限制本地用户对相关硬件设备的操作权限。

参考链接

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