CVE-2026-74501

ALSA: usb-audio: fix use-after-free in ump_to_endpoint()

State
Published
Severity
Not scored
Published
Aug 15, 2026
Updated
Aug 17, 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 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 <baul.lee@xbow.com>

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ff49d1df79aef7580fe3ac99d17c3f886655d080 to before 49eccef6d6e1c00dac6fb2e7eb6f9206c33e1c37Affected
  • ff49d1df79aef7580fe3ac99d17c3f886655d080 to before 8a7a33b846d6ba695891b8d0040027cdbad8cd52Affected
  • ff49d1df79aef7580fe3ac99d17c3f886655d080 to before cc014ebf803174f0e5d15956dfc5a38413c945aeAffected
  • ff49d1df79aef7580fe3ac99d17c3f886655d080 to before ae388c0e1bf727972096f770f82d12e4f748d1b6Affected
  • ff49d1df79aef7580fe3ac99d17c3f886655d080 to before 4a05b2d1b4642df74f30b6f54843e825c4a2bfd3Affected
LinuxLinux
  • 6.5Affected
  • before 6.5Not 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.