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

CVE-2026-43310 Linux内核Verisilicon驱动DoS漏洞

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

漏洞信息

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

相关标签

拒绝服务Linux内核硬件漏洞驱动程序DoSVerisilicon

漏洞概述

Linux内核Verisilicon驱动模块在i.MX8MQ平台存在严重的硬件调度缺陷。由于g1和g2 VPU硬件限制无法同时解码,并发操作将触发总线错误,导致解码超时、画面损坏甚至系统完全挂起。本地低权限攻击者通过并发执行解码任务利用此漏洞,可造成系统拒绝服务,严重影响系统可用性。

技术细节

该漏洞的根本原因在于Linux内核media:verisilicon驱动未正确处理i.MX8MQ平台的硬件限制。在i.MX8MQ上,g1 VPU和g2 VPU共享总线资源,硬件设计上不支持两者同时进行H.264或HEVC视频流的解码操作。如果驱动层允许这两个设备并发工作,总线仲裁将失败,引发总线错误。内核日志会显示“frame decode timed out”和“bus error detected”。这种冲突不仅导致当前解码帧损坏,还可能使整个视频子系统或内核陷入死锁状态。攻击者只需在本地同时启动两个针对不同VPU实例的解码进程,即可触发该竞争条件,导致系统崩溃或重启。

攻击链分析

STEP 1
步骤1
攻击者获取本地低权限用户访问权限。
STEP 2
步骤2
识别目标系统为使用i.MX8MQ平台的Linux系统,并确认Verisilicon驱动已加载。
STEP 3
步骤3
准备H.264或HEVC视频流文件,用于触发VPU解码操作。
STEP 4
步骤4
同时或快速连续地对g1和g2 VPU设备节点发起视频解码请求。
STEP 5
步骤5
触发硬件总线冲突,导致系统日志报错、视频解码失败及系统挂起(DoS)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> // Conceptual PoC to trigger the race condition // This code attempts to simulate concurrent decoding on g1 and g2 VPU void trigger_decode(int device_fd) { // Simulate sending a decode command to the VPU // In a real scenario, this involves setting up buffers and calling IOCTLs printf("Triggering decode on fd %d\n", device_fd); // ioctl(device_fd, VIDIOC_QBUF, ...); // ioctl(device_fd, VIDIOC_STREAMON, ...); } int main() { // Assume /dev/video0 is g1 and /dev/video1 is g2 on i.MX8MQ int g1_fd = open("/dev/video0", O_RDWR); int g2_fd = open("/dev/video1", O_RDWR); if (g1_fd < 0 || g2_fd < 0) { perror("Failed to open video devices"); return 1; } printf("Starting concurrent decode attack on VPU...\n"); // Fork to create simultaneous execution if (fork() == 0) { trigger_decode(g1_fd); // Child triggers g1 } else { trigger_decode(g2_fd); // Parent triggers g2 } // Wait for crash or timeout sleep(5); close(g1_fd); close(g2_fd); return 0; }

影响范围

Linux Kernel (Fixed in commit 286d629d10640bc22f3bf46aa4f356eb7975e862)
Linux Kernel (Fixed in commit e0203ddf9af7c8e170e1e99ce83b4dc07f0cd765)

防御指南

临时缓解措施
建议立即升级内核以修复v4l2_m2m_dev调度问题。若无法立即升级,应限制系统中同时运行的VPU解码任务数量,避免g1和g2实例同时工作,防止系统挂起。

参考链接

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