Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: ump: fix double free of out_cvts on rawmidi error snd_ump_attach_legacy_rawmidi() allocates the legacy conversion array ump->out_cvts and, on the snd_rawmidi_new() error path, frees it with kfree() but leaves ump->out_cvts pointing at the freed memory. When the endpoint is later torn down, snd_ump_endpoint_free() frees ump->out_cvts a second time, resulting in a double free. The host snd-usb-audio driver attaches the legacy rawmidi for any USB MIDI 2.0 (UMP) device, so a device that makes snd_rawmidi_new() fail reaches this path on enumeration. Clear ump->out_cvts after freeing it on the error path so it is not freed again during teardown. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
33cd7630782df2230529c3e8f1a6d0ae9cd6ab49 to < e84d2e53a05c78a04d1343eeb0f31a79456e79fcaffected33cd7630782df2230529c3e8f1a6d0ae9cd6ab49 to < 3302aaeac4f7ee6b775850db21d5f61064ce70adaffected33cd7630782df2230529c3e8f1a6d0ae9cd6ab49 to < 032746c2dd9a4ea0774b04ac8a29e2ea628f106eaffected33cd7630782df2230529c3e8f1a6d0ae9cd6ab49 to < c57001f55f97ef856fb6527e376c5c4a056a53a4affected33cd7630782df2230529c3e8f1a6d0ae9cd6ab49 to < 70c977815af0d997feb2d0c5d284d55689bf7051affected
Linux Linux
Default version status: affected
6.5affected0 to < 6.5unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e84d2e53a05c78a04d1343eeb0f31a79456e79fc ↗
- https://git.kernel.org/stable/c/3302aaeac4f7ee6b775850db21d5f61064ce70ad ↗
- https://git.kernel.org/stable/c/032746c2dd9a4ea0774b04ac8a29e2ea628f106e ↗
- https://git.kernel.org/stable/c/c57001f55f97ef856fb6527e376c5c4a056a53a4 ↗
- https://git.kernel.org/stable/c/70c977815af0d997feb2d0c5d284d55689bf7051 ↗