CVE-2026-72443: ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints

Published Aug 15, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints

MIDI 2.0 input URBs are started during sndusbmidiv2create(). A later setup failure can still jump to sndusbmidiv2free(), which currently frees each endpoint and its coherent URB buffers without first stopping the submitted URBs. A completion can then dereference the embedded URB context and endpoint state after they have been freed, or try to resubmit from the stale endpoint.

This was observed as a KASAN slab-use-after-free in inputurbcomplete().

The buggy scenario involves two paths, with each column showing the order within that path:

probe error path: USB completion path: 1. startinputstreams() submits 1. The HCD still owns a input URBs. submitted input URB. 2. A later setup helper returns 2. inputurbcomplete() runs an error. with urb->context in ep. 3. sndusbmidiv2free() frees 3. The completion reads ep endpoint storage and URB buffers. state and can requeue URBs.

Make the endpoint destructor follow the same teardown ordering used for disconnect when the endpoint has not already been disconnected: publish ep->disconnected, kill the URBs synchronously, and drain the endpoint before freeing URB buffers and endpoint storage. The guard avoids repeating the stop sequence after the normal sndusbmidiv2disconnectall() path, while still synchronizing the direct MIDI 2.0 create-error free path.

Validation reproduced this kernel report: BUG: KASAN: slab-use-after-free in inputurbcomplete+0x37/0x1b0 Workqueue: usbhubwq hubevent RIP: 0010:rawspinunlockirq+0x2e/0x50 Read of size 8 Call trace: dumpstacklvl+0x77/0xb0 printreport+0xce/0x5f0 inputurbcomplete+0x37/0x1b0 (sound/usb/midi2.c:186) srsoaliasreturnthunk+0x5/0xfbef5 virtaddrvalid+0x19f/0x330 kasanreport+0xe0/0x110 usbhcdgivebackurb+0x112/0x1d0 dummytimer+0xaaa/0x19a0 lockisheldtype+0x9a/0x110 lockacquire+0x467/0x28b0 markheldlocks+0x40/0x70 rawspinunlockirqrestore+0x44/0x60 lockdephardirqsonprepare+0xbb/0x1a0 hrtimerrunqueues+0x101/0x520 hrtimerrunsoftirq+0xd0/0x130 handlesoftirqs+0x15b/0x670 irqexitrcu+0xd0/0x170 irqexitrcu+0xe/0x20 sysvecapictimerinterrupt+0x6c/0x80 asmsysvecapictimerinterrupt+0x1a/0x20

Event History

Aug 15, 2026
CVE Published
via MITRE·05:56 AM
Data Sourced
via MITRE·05:56 AM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203