CVE-2026-52963: Linux ALSA USB Audio MIDI Descriptor Bounds Check Vulnerability
A flaw exists in the Linux kernel's USB audio MIDI handling code. When processing USB MIDI endpoint descriptors, the kernel validates the size of internal descriptor structures but fails to properly bound subsequent reads against the actual available data. An attacker with local access could craft a malicious USB device that provides specially formatted MIDI endpoint descriptors, causing the kernel to read beyond allocated memory regions during descriptor parsing. This results in a kernel crash or denial of service.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- —
- Affected products
- 4 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-14
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Bound MIDI endpoint descriptor scans snd_usbmidi_get_ms_info() validates the internal MIDIStreaming endpoint descriptor size before using baAssocJackID[], but the descriptor walker can still return a class-specific endpoint descriptor whose bLength exceeds the remaining bytes in the endpoint-extra scan. That leaves later flexible-array reads bounded by bLength, but not by the remaining bytes in the endpoint-extra scan. Stop walking when bLength is zero or extends past the remaining endpoint-extra scan.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-52963 affects snd_usbmidi_get_ms_info() in the ALSA USB audio subsystem. The function validates baAssocJackID[] array access within class-specific MIDIStreaming endpoint descriptors, but the descriptor walker loop lacks proper bounds checking on the bLength field. A descriptor with bLength set to zero or a value exceeding remaining bytes in the endpoint-extra scan can trigger out-of-bounds reads during flexible-array member access. The vulnerability exists because validation occurs on internal descriptor size but not on the relationship between bLength and the actual remaining scan buffer, violating the contract of bounded iteration.
Business impact
This vulnerability enables local denial of service attacks against Linux systems. An unprivileged user with physical USB device access or the ability to modify USB device firmware can trigger a kernel panic, causing system downtime and service interruption. This is particularly concerning for shared computing environments, kiosks, or systems accepting untrusted USB peripherals. No data exfiltration or privilege escalation occurs, but availability impact is severe for affected deployments.
Affected systems
All versions of the Linux kernel prior to the security fix are affected. The vulnerability resides in core ALSA USB audio handling, making it present across all architectures and distributions using vulnerable kernel versions. Systems with USB audio device support enabled are at risk; headless or embedded systems with USB audio disabled are unaffected.
Exploitability
Exploitation requires local access and the ability to present a malicious USB device to the target system. No authentication is needed, and no user interaction beyond device connection is required. The attack surface is limited to systems accepting untrusted USB peripherals. The CVSS score of 5.5 (Medium) reflects local-only attack vector, low privilege requirement, and denial-of-service impact without data compromise. Real-world exploitation difficulty is moderate—crafting a valid yet malicious USB descriptor requires knowledge of USB MIDI protocols but is achievable through widely available USB fuzzing tools.
Remediation
The fix adds explicit bounds checking to ensure the descriptor walker terminates when bLength is zero or would extend past the remaining bytes in the endpoint-extra scan buffer. This prevents out-of-bounds reads by enforcing that all descriptor field accesses respect both the declared length and available memory. Patched kernels include this validation prior to any flexible-array member access.
Patch guidance
Apply the latest stable or long-term support kernel version from your distribution. Verify that your kernel update includes the ALSA USB audio descriptor bounds check. Most major distributions (Red Hat, Debian, Ubuntu, SUSE) have released updates; check your vendor's security advisory for specific version numbers and timelines. Compile a custom kernel with the upstream fix if using unsupported branches. Verify the fix is present by confirming the snd_usbmidi_get_ms_info() function includes the bLength validation loop termination logic.
Detection guidance
Monitor system logs for kernel crashes (kernel panic, oops) occurring during USB device connection or enumeration, particularly when audio devices are attached. Audit USB device connection events in dmesg. On systems with kernel debugging enabled, look for out-of-bounds read warnings from KASAN (Kernel Address Sanitizer) in snd_usbmidi_get_ms_info(). Intrusion detection systems can flag suspicious USB descriptor patterns, though this requires deep USB protocol inspection. Practical detection focuses on post-exploitation crash analysis rather than prevention.
Why prioritize this
This should be treated as a medium-priority patch for most organizations but elevated for environments accepting untrusted USB devices (public terminals, BYOD labs, shared workstations). The local-only attack vector and denial-of-service impact (no data breach risk) place it below remote code execution vulnerabilities but above cosmetic bugs. Prioritize patching for internet-facing Linux infrastructure and edge devices with USB exposure; internal-only headless servers are lower priority.
Risk score, explained
The CVSS 3.1 score of 5.5 reflects: (1) Local attack vector—physical USB access or OS-level account required; (2) Low complexity—no special conditions beyond device connection; (3) Low privilege—unprivileged user sufficient; (4) No confidentiality or integrity impact—denial of service only; (5) High availability impact—kernel crash and system unavailability. The score appropriately penalizes availability damage while acknowledging the significant barrier of local access requirement.
Frequently asked questions
Can this vulnerability be exploited remotely?
No. CVE-2026-52963 requires local access and the ability to present a malicious USB device to the target system. Remote exploitation is not possible unless an attacker has already compromised the system or has physical access.
Does this affect systems without USB audio devices?
No. The vulnerability exists in the ALSA USB audio subsystem. Systems with USB audio support disabled or no USB ports are not affected. Most headless servers and embedded systems without audio hardware are unaffected.
What is the impact of this vulnerability?
The impact is denial of service through kernel crash. An attacker can force a kernel panic, causing system downtime. There is no data theft, encryption, or privilege escalation. Systems must be restarted after exploitation.
Are there workarounds if I cannot patch immediately?
Disable USB audio support in the kernel (if not needed), block untrusted USB device connections via udev rules, or use physical USB port locks. These reduce attack surface but are not substitutes for patching. Apply security updates as soon as feasible.
This analysis is based on published CVE data and upstream kernel security documentation as of the CVE publication date. Specific patch version numbers and affected product version ranges should be verified against your vendor's official security advisory. While effort has been made to ensure accuracy, SEC.co makes no warranty regarding completeness or fitness for any particular purpose. Security teams should validate findings in their specific environment and consult vendor advisories before deployment decisions. Source: NVD (public-domain), retrieved 2026-07-30. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)
- CVE-2026-10916MEDIUMChrome DevTools UXSS Vulnerability