ALSA: usb-audio: fix use-after-free in ump_to_endpoint()
Summary
| CVE | CVE-2026-74501 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-15 13:17:55 UTC |
| Updated | 2026-08-15 13:17:55 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: fix use-after-free in ump_to_endpoint()
create_midi2_ump() registers a card-owned snd_ump_endpoint and stores a
back-pointer to its per-interface snd_usb_midi2_ump object in
ump->private_data, but it never installs an ump->private_free hook and
never clears that pointer.
If a later step of snd_usb_midi_v2_create() fails, its error path calls
free_all_midi2_umps(), which kfree()s the snd_usb_midi2_ump object while
the already-registered endpoint keeps pointing at it. The created
/dev/snd/umpC*D* node stays exposed, so the first operation of any UMP
open, ump_to_endpoint(), dereferences the dangling ump->private_data and
reads rmidi->eps[dir] out of freed memory.
A malicious USB MIDI 2.0 device that makes creation fail after the
endpoint is registered can thus trigger a slab use-after-free read on a
subsequent open of the UMP node.
Clear the endpoint's back-pointer before freeing the object, and let
ump_to_endpoint() tolerate a NULL private_data so the open/close/trigger
callbacks fail cleanly (their callers already handle a NULL endpoint)
instead of dereferencing a stale pointer.
Discovered by XBOW, triaged by Baul Lee <[email protected]> |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected ff49d1df79aef7580fe3ac99d17c3f886655d080 49eccef6d6e1c00dac6fb2e7eb6f9206c33e1c37 git |
Not specified |
| CNA |
Linux |
Linux |
affected ff49d1df79aef7580fe3ac99d17c3f886655d080 8a7a33b846d6ba695891b8d0040027cdbad8cd52 git |
Not specified |
| CNA |
Linux |
Linux |
affected ff49d1df79aef7580fe3ac99d17c3f886655d080 cc014ebf803174f0e5d15956dfc5a38413c945ae git |
Not specified |
| CNA |
Linux |
Linux |
affected ff49d1df79aef7580fe3ac99d17c3f886655d080 ae388c0e1bf727972096f770f82d12e4f748d1b6 git |
Not specified |
| CNA |
Linux |
Linux |
affected ff49d1df79aef7580fe3ac99d17c3f886655d080 4a05b2d1b4642df74f30b6f54843e825c4a2bfd3 git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.5 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.5 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.151 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.103 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.44 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.1.8 7.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2-rc6 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/cc014ebf803174f0e5d15956dfc5a38413c945ae |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/8a7a33b846d6ba695891b8d0040027cdbad8cd52 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/49eccef6d6e1c00dac6fb2e7eb6f9206c33e1c37 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/ae388c0e1bf727972096f770f82d12e4f748d1b6 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/4a05b2d1b4642df74f30b6f54843e825c4a2bfd3 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.