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

CVE-2026-31562:Linux内核Mediatek DSI驱动空指针解引用漏洞

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

漏洞信息

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

相关标签

DoSLinux KernelNULL Pointer DereferenceMediatekLocal

漏洞概述

Linux内核中的drm/mediatek: dsi组件存在一个拒绝服务漏洞。该漏洞的根本原因是在调用mipi_dsi_host_register之前未能正确初始化驱动私有数据。当该函数触发mtk_dsi_bind回调时,dev_get_drvdata试图获取尚未存储的mtk_dsi结构体,导致空指针解引用错误。这会在系统注册DSI DRM编码器期间引发崩溃,进而阻塞所有后续的DRM显示操作,导致系统可用性中断。

技术细节

该漏洞位于Linux内核的MediaTek DSI驱动初始化流程中。在`mtk_dsi_probe`函数执行期间,代码调用了`mipi_dsi_host_register`函数。此调用会触发`mtk_dsi_bind`回调。在`mtk_dsi_bind`函数内部,代码使用`dev_get_drvdata`来检索并使用`mtk_dsi`结构体指针。然而,由于代码逻辑错误,在调用`mipi_dsi_host_register`之前并未执行`dev_set_drvdata`来初始化该数据结构。因此,回调获取到的指针为NULL。随后,当`drm_encoder_init`尝试通过此NULL指针访问内存(特别是在`drm_mode_object_add`内部)时,会导致内核空指针解引用错误。攻击者只需具备本地低权限即可触发设备探测或模块加载,从而导致系统崩溃或DRM子系统挂起。

攻击链分析

STEP 1
本地访问
攻击者获得目标设备的本地访问权限(低权限)。
STEP 2
触发驱动加载
攻击者触发受影响的MediaTek DSI驱动加载,例如通过系统启动或加载内核模块。
STEP 3
执行回调
驱动调用mipi_dsi_host_register,进而回调mtk_dsi_bind。
STEP 4
空指针解引用
由于驱动数据未初始化,回调函数获取到NULL指针并访问非法内存地址。
STEP 5
系统崩溃
内核触发NULL指针解引用错误,导致系统崩溃或DRM子系统挂起,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC demonstrating the trigger sequence (Driver context) // This represents the vulnerable flow in the driver. #include <linux/module.h> #include <drm/drm_mipi_dsi.h> // Simulating the vulnerable probe function static int vulnerable_mtk_dsi_probe(struct platform_device *pdev) { struct mtk_dsi *dsi; // ... memory allocation ... // VULNERABILITY: drvdata is NOT set here // dev_set_drvdata(&pdev->dev, dsi); // <--- MISSING FIX // This call triggers mtk_dsi_bind -> dev_get_drvdata // which returns NULL because the above line is missing. mipi_dsi_host_register(dsi->host); return 0; } // To trigger this PoC on an affected device: // 1. Load the mediatek-drm module or boot the device. // 2. The kernel will crash during the probe phase with: // "Unable to handle kernel NULL pointer dereference at virtual address 0000000000000040"

影响范围

Linux Kernel < commit df03f5ac1eae7c5a2c01846e3e64dfc2870eec6b
Linux Kernel < commit 9a709b7e36324dfc1e6728eb81405470b7ae84e5
Linux Kernel < commit 4cfdfeb6ac06079f92fccd977fa742d6c5b8dd3a

防御指南

临时缓解措施
禁用mediatek-drm驱动模块以防止漏洞被触发,直到应用补丁为止。

参考链接

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