CVE-2026-74499

ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output()

N/A
Published: August 15, 2026 at 12:27 PM UTC
Updated: August 19, 2026 at 05:21 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output() snd_usbmidi_akai_output() computes its fill-loop bound buf_end = ep->max_transfer - MAX_AKAI_SYSEX_LEN - 1; as a signed int, so a small device-advertised bulk-OUT max_transfer makes buf_end negative. The loop guard then compares the u32 urb->transfer_buffer_length against that negative int: the usual arithmetic conversion turns buf_end into a large unsigned value, so the guard stays true and each iteration keeps appending SysEx framing and payload bytes past the end of the URB transfer buffer, which is only max_transfer bytes long. A USB device that advertises a tiny bulk-OUT endpoint can therefore trigger an attacker-length- and content-controlled heap out-of-bounds write when a process writes to the created /dev/snd/midiC*D* node. Return early when there is no room for even one SysEx, so the loop is never entered with a bound that would wrap. The loop is the last statement of the function, so bailing out is equivalent to it not running. Discovered by XBOW, triaged by Baul Lee <[email protected]>

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.35 ≤ v < 5.10.2652.6.35 ≤ v < 5.15.2162.6.35 ≤ v < 6.1.1832.6.35 ≤ v < 6.12.1032.6.35 ≤ v < 6.18.442.6.35 ≤ v < 6.6.1512.6.35 ≤ v < 7.1.82.6.35 ≤ v < 7.22.6.354434ade8c9334a3ab975d8993de456f06841899e
Vendor states this is fixed in 00cc659a42ac4e94ec880fae2c9bf22fce69c2e8 (fixed)
Vendor states this is fixed in 0970274613fb463d376211450cab066d34ebfe6a (fixed)
Vendor states this is fixed in 29a4c29943631301e85f5e9d10f25741bd78e7ba (fixed)
Vendor states this is fixed in 2b7a0f330dd90dd1a7657cec0db019ee1efa4372 (fixed)
Vendor states this is fixed in 78dfdeb8d2065524ed5928d6470bf3d3244d1009 (fixed)
Vendor states this is fixed in 9b22a5c8310b0d55d04f5f0159b913a2fb8b444f (fixed)
Vendor states this is fixed in b5305a0d0bb8e90a6fc9f88270d5f6c9b8c40081 (fixed)
Vendor states this is fixed in ce949d66607cfb000b8d8d84f80f35a886e72683 (fixed)
Vendor states this is fixed in 2.6.35 (unaffected)
Vendor states this is fixed in 5.10.265 (unaffected)
Vendor states this is fixed in 5.15.216 (unaffected)
Vendor states this is fixed in 6.1.183 (unaffected)
Vendor states this is fixed in 6.12.103 (unaffected)
Vendor states this is fixed in 6.18.44 (unaffected)
Vendor states this is fixed in 6.6.151 (unaffected)
Vendor states this is fixed in 7.1.8 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card