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

CVE-2026-31624 Linux Kernel HID核心移位越界漏洞

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

漏洞信息

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

相关标签

Linux KernelHID拒绝服务本地漏洞移位越界CVE-2026-31624

漏洞概述

Linux Kernel HID核心组件存在安全漏洞。s32ton()函数在处理HID设备提供的report_size时,未对移位数值进行有效限制。当设备发送恶意构造的报告描述符时,会导致32位整数移位越界,引发未定义行为。该漏洞利用需要本地低权限用户接入恶意HID设备,成功利用可导致系统崩溃或拒绝服务。

技术细节

该漏洞源于Linux Kernel HID子系统的s32ton()函数,该函数用于将32位有符号整数转换为HID报告字段,执行val << (n - 1)操作。虽然HID解析器限制report_size小于等于256,但未针对32位类型限制移位上限。攻击者可通过物理接入或模拟恶意HID设备,提供特制的报告描述符,使report_size达到256,导致移位操作超出32位寄存器范围(最大有效移位为31),触发内核未定义行为或Panic。此前snto32()已修复此问题,但s32ton()被遗漏。利用条件为本地低权限且无需用户交互。

攻击链分析

STEP 1
1. 设备准备
攻击者准备一个包含恶意HID报告描述符的USB设备(如键盘、鼠标),其中report_size字段被设置为大于32的数值(例如255或256)。
STEP 2
2. 物理接入
攻击者以本地低权限用户身份,将恶意设备接入目标Linux系统。
STEP 3
3. 解析触发
内核HID子系统驱动加载并解析设备描述符,在构建输出报告时调用hid_output_field()或hid_set_field()。
STEP 4
4. 漏洞利用
s32ton()函数执行移位操作(1 << (report_size - 1)),由于移位过大导致未定义行为,触发内核崩溃或系统不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * Conceptual PoC for CVE-2026-31624 * This snippet demonstrates a malicious HID Report Descriptor * designed to trigger the shift-out-of-bounds in s32ton(). */ #include <linux/hid.h> // Malicious report descriptor with Report Size > 32 (e.g., 255) static const __u8 malicious_hid_report_desc[] = { 0x05, 0x01, // Usage Page (Generic Desktop) 0x09, 0x06, // Usage (Keyboard) 0xA1, 0x01, // Collection (Application) 0x75, 0xFF, // Report Size (255) - Triggers shift overflow 0x95, 0x01, // Report Count (1) 0x81, 0x02, // Input (Data, Var, Abs) 0xC0 // End Collection }; // Note: To exploit, this descriptor would be presented by a USB device // or emulated via uhid/hidraw, triggering hid_output_field().

影响范围

Linux Kernel < 6.8
Linux Kernel < 6.6
Linux Kernel < 6.1
Linux Kernel < 5.15

防御指南

临时缓解措施
在无法立即升级内核的情况下,建议限制对系统USB端口的物理访问,并禁用不必要的内核HID驱动模块加载,或使用USBGuard等工具阻止未授权的HID设备接入。

参考链接

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