CVE Catalog

CVE-2026-98769

Low risk· EPSS 6%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.17%

6th percentile - higher than 6% of all known CVEs

Summary

In the Linux kernel, generic_set_cmd() and generic_get_cmd() in the USB gadget f_uac1_legacy driver use the low nibble of ctrl->bRequest as an index into the con->data[] array, which has only 5 elements. Index values from 5 to 15 cause an out-of-bounds heap access (up to 44 bytes past the array). A malicious USB host can send a crafted SET_CUR/GET_CUR request, triggering the vulnerability from an IRQ handler.

Risk Assessment

The vulnerability allows remote (via USB port) kernel memory corruption, potentially leading to system crash or kernel code execution. It requires connecting a malicious USB device.

Recommendation

Update the Linux kernel to a version containing the fix that adds an ARRAY_SIZE() guard in both functions. Restrict physical access to USB ports or enforce policies blocking unknown USB devices.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS