Description
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.
Published: 2026-10-18
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Potential kernel memory corruption leading to denial of service or privilege escalation
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises from the Linux kernel's USB gadget driver for the UAC1 legacy audio interface, specifically the functions generic_set_cmd() and generic_get_cmd(). These functions use the low nibble of the USB bRequest field as an index into a five‑element data array. When the index is 5–15, the code writes to or reads from memory beyond the array’s bounds, leading to an out‑of‑bounds read or write on the heap. This memory corruption can overwrite kernel data structures or read sensitive information.

Affected Systems

Affected systems are all Linux kernel installations that include the f_uac1_legacy driver before the patch that added an ARRAY_SIZE guard. This includes any distribution kernel containing the unpatched gadget module, regardless of version, as the bug exists in the driver code before the commit referenced in the advisory. Administrators should verify whether their kernel package contains the unpatched f_uac1_legacy driver.

Risk and Exploitability

The risk is that a malicious USB host can send a crafted SET_CUR or GET_CUR request to trigger the out‑of‑bounds access. The CVSS score of 8.4 indicates a high severity, but the EPSS score is less than 1% and the vulnerability is not listed in CISA's KEV catalog, suggesting that public exploitation is not yet confirmed. Kernel memory corruption could cause a denial of service or, under certain conditions, a privilege escalation. The likely attack vector is physical or remote access through a USB device, which is inferred from the description of a malicious USB host and the requirement for the target to be exposed to potentially untrusted USB hosts. Administrators should consider the potential impact on availability and confidentiality when deciding on mitigations.

Generated by OpenCVE AI on October 23, 2026 at 19:45 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update to a kernel version that includes the ARRAY_SIZE guard patch (commit 36f3f009049bc91e14dc856007932473318d12f8 or later).
  • If an update is not feasible, unload or disable the f_uac1_legacy gadget driver (modprobe -r f_uac1_legacy or set a blacklist parameter).
  • Restrict USB host access by implementing port authentication, using kernel lockdown features, or disabling USB ports when not needed.

Generated by OpenCVE AI on October 23, 2026 at 19:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Fri, 30 Oct 2026 13:00:00 +0000


Fri, 23 Oct 2026 18:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-788

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Important


Wed, 21 Oct 2026 13:15:00 +0000


Sun, 18 Oct 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
CWE-788

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description 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.
Title usb: gadget: f_uac1_legacy: validate bRequest index in generic_{set,get}_cmd
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-30T12:39:38.690Z

Reserved: 2026-09-25T10:25:14.369Z

Link: CVE-2026-98769

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:30.813

Modified: 2026-10-30T13:21:26.617

Link: CVE-2026-98769

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98769 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T20:00:16Z

Weaknesses