CVE-2026-74499

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

State
Published
Severity
Not scored
Published
Aug 15, 2026
Updated
Aug 19, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

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 <baul.lee@xbow.com>

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 4434ade8c9334a3ab975d8993de456f06841899e to before 78dfdeb8d2065524ed5928d6470bf3d3244d1009Affected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before 00cc659a42ac4e94ec880fae2c9bf22fce69c2e8Affected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before ce949d66607cfb000b8d8d84f80f35a886e72683Affected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before 29a4c29943631301e85f5e9d10f25741bd78e7baAffected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before 9b22a5c8310b0d55d04f5f0159b913a2fb8b444fAffected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before b5305a0d0bb8e90a6fc9f88270d5f6c9b8c40081Affected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before 2b7a0f330dd90dd1a7657cec0db019ee1efa4372Affected
  • 4434ade8c9334a3ab975d8993de456f06841899e to before 0970274613fb463d376211450cab066d34ebfe6aAffected
LinuxLinux
  • 2.6.35Affected
  • before 2.6.35Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.151 through 6.6.*Not affected
  • 6.12.103 through 6.12.*Not affected
  • 6.18.44 through 6.18.*Not affected
  • 7.1.8 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.