CVE-2026-43048Linux内核的HID(人机接口设备)核心组件中存在一个严重的安全漏洞。该漏洞源于`hid_report_raw_event`函数中用于清理无效数据的`memset`调用。由于未能正确验证传入事件缓冲区的大小,该操作容易引发越界读取和写入。攻击者无需用户交互或身份验证,仅需通过邻接网络即可利用此缺陷。成功利用可能导致内核崩溃、信息泄露或权限提升,严重影响系统的机密性、完整性和可用性。官方建议移除该`memset`调用并增加缓冲区大小检查以修复此问题。
该漏洞位于Linux内核的HID子系统中,具体触发点为`hid_report_raw_event`函数。在原始实现中,开发者意图使用`memset`函数将传入数据字符串的末尾至缓冲区假定末尾之间的区域清零,以清除潜在的无效或残留数据。然而,该操作缺乏对数据长度的严格校验。当硬件或驱动层传入的事件数据长度小于预期的报告长度时,`memset`会基于错误的长度参数执行清零操作。这种行为直接导致了越界(OOB)内存写入,可能覆盖相邻的内核内存区域,引发系统崩溃、内核恐慌或信息泄露。由于攻击向量为邻接网络(AV:A),攻击者可以通过特制的HID数据包触发该漏洞。官方推荐的修复措施是移除存在风险的`memset`代码,并增加对缓冲区大小的显式检查,若数据大小不匹配则直接返回,从根本上杜绝越界访问的可能性。