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>
Published: 2026-08-15
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The ALSA usb-audio driver contains a logic error in which the buffer end bound is calculated with a signed integer. When a USB device advertises a very small bulk-OUT endpoint, the computed value becomes negative. The loop guard then compares a 32‑bit unsigned transfer length against this negative bound, which after type conversion turns into a very large unsigned number. As the loop iterates, SysEx framing and payload data are written past the end of the URB transfer buffer, resulting in a heap out-of-bounds write that can be exploited to corrupt kernel memory.

Affected Systems

All Linux kernel installations that include the ALSA usb‑audio driver and have not yet applied the patch associated with the commit referenced in the advisory are affected. No explicit vendor or kernel version list is provided, so the vulnerability applies to any kernel prior to the fix, including typical distribution kernels that have not incorporated the change.

Risk and Exploitability

Exploitation requires a malicious USB device that advertises an abnormally small bulk‑OUT endpoint and interaction with the corresponding /dev/snd/midiC*D* node; therefore the likely attack vector is a local or physical attacker with access to a USB port. The CVSS score is 7.0, the EPSS score is < 1%, and the vulnerability is not listed in the CISA KEV catalog. This medium-to-high severity, combined with low exploitation probability, still means an attacker who can supply a malicious USB device could cause memory corruption, potentially enabling privilege escalation or denial of service. The patch returns early to prevent the buffer overflow.

Generated by OpenCVE AI on August 18, 2026 at 02:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the ALSA usb‑audio out-of-bounds write fix (the commit referenced in the advisory).
  • If an immediate kernel upgrade is not possible, remove or block support for AKAI USB midi devices by blacklisting the snd-usbmidi-lib module on systems that do not need it.
  • Configure udev rules or USB device filtering to deny connection of unauthorized AKAI MIDI devices to the system.

Generated by OpenCVE AI on August 18, 2026 at 02:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Wed, 19 Aug 2026 17:00:00 +0000


Tue, 18 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
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>
Title ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output()
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-08-19T16:38:00.351Z

Reserved: 2026-08-15T05:44:03.907Z

Link: CVE-2026-74499

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:54.863

Modified: 2026-08-19T17:21:07.360

Link: CVE-2026-74499

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74499 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T02:45:03Z

Weaknesses