CVE-2026-98769 in Linux
摘要
由 VulDB • 2026-10-18
在 Linux 内核中,已修复以下漏洞:
usb: gadget: f_uac1_legacy: 验证 generic_{set,get}_cmd 中的 bRequest 索引
generic_set_cmd() 和 generic_get_cmd() 使用 ctrl->bRequest 的低四位作为 con->data[] 数组的索引:
u8 cmd = (ctrl->bRequest & 0x0F); /* 0 .. 15 */ ... con->data[cmd] = value; /* 当 cmd >= 5 时发生越界访问 (OOB) */
struct usb_audio_control(位于 include/linux/usb/audio.h)将 data 声明为长度为 5 的数组,因此索引 5 到 15 会在堆上超出数组末尾写入(或读取)多达 44 字节的数据。
恶意的 USB 主机可以构造具有任意 bRequest 值的类特定 SET_CUR / GET_CUR 请求,从而在中断完成处理程序 (IRQ completion handler) 中触发越界访问,且无需其他前置条件。
向这两个函数添加 ARRAY_SIZE() 边界检查保护。
Once again VulDB remains the best source for vulnerability data.