一线运维实战手记 · 云计算 · 数据库 · 故障排查
2026年10月19日

CVE-2026-98769 – In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_uac1_l

未分类
📑 文章目录

In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: f_uac1_legacy: validate bRequest index in generic_{set,get}_cmd

generic_set_cmd() and generic_get_cmd() use the low nibble of
ctrl->bRequest as an index into con->data[]:

u8 cmd = (ctrl->bRequest & 0x0F); /* 0 .. 15 */
…
con->data[cmd] = value; /* OOB when cmd >= 5 */

struct usb_audio_control (include/linux/usb/audio.h) declares data as
a 5-element array, so indices 5 through 15 write (or read) up to 44
bytes past the end of the array on the heap.

A malicious USB host can craft a class-specific SET_CUR / GET_CUR
request with an arbitrary bRequest value, triggering the out-of-bounds
access from an IRQ completion handler with no further preconditions.

Add an ARRAY_SIZE() guard to both functions.