{"id":"CVE-2026-74501","summary":"ALSA: usb-audio: fix use-after-free in ump_to_endpoint()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: fix use-after-free in ump_to_endpoint()\n\ncreate_midi2_ump() registers a card-owned snd_ump_endpoint and stores a\nback-pointer to its per-interface snd_usb_midi2_ump object in\nump-\u003eprivate_data, but it never installs an ump-\u003eprivate_free hook and\nnever clears that pointer.\n\nIf a later step of snd_usb_midi_v2_create() fails, its error path calls\nfree_all_midi2_umps(), which kfree()s the snd_usb_midi2_ump object while\nthe already-registered endpoint keeps pointing at it.  The created\n/dev/snd/umpC*D* node stays exposed, so the first operation of any UMP\nopen, ump_to_endpoint(), dereferences the dangling ump-\u003eprivate_data and\nreads rmidi-\u003eeps[dir] out of freed memory.\n\nA malicious USB MIDI 2.0 device that makes creation fail after the\nendpoint is registered can thus trigger a slab use-after-free read on a\nsubsequent open of the UMP node.\n\nClear the endpoint's back-pointer before freeing the object, and let\nump_to_endpoint() tolerate a NULL private_data so the open/close/trigger\ncallbacks fail cleanly (their callers already handle a NULL endpoint)\ninstead of dereferencing a stale pointer.\n\nDiscovered by XBOW, triaged by Baul Lee \u003cbaul.lee@xbow.com\u003e","modified":"2026-08-18T03:31:27.313470066Z","published":"2026-08-15T12:27:26.957Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74501.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/49eccef6d6e1c00dac6fb2e7eb6f9206c33e1c37"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4a05b2d1b4642df74f30b6f54843e825c4a2bfd3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8a7a33b846d6ba695891b8d0040027cdbad8cd52"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ae388c0e1bf727972096f770f82d12e4f748d1b6"},{"type":"WEB","url":"https://git.kernel.org/stable/c/cc014ebf803174f0e5d15956dfc5a38413c945ae"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74501.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-74501"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"ff49d1df79aef7580fe3ac99d17c3f886655d080"},{"fixed":"49eccef6d6e1c00dac6fb2e7eb6f9206c33e1c37"},{"fixed":"8a7a33b846d6ba695891b8d0040027cdbad8cd52"},{"fixed":"cc014ebf803174f0e5d15956dfc5a38413c945ae"},{"fixed":"ae388c0e1bf727972096f770f82d12e4f748d1b6"},{"fixed":"4a05b2d1b4642df74f30b6f54843e825c4a2bfd3"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74501.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.5.0"},{"fixed":"6.6.151"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.103"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.44"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.8"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74501.json"}}],"schema_version":"1.9.0"}