]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: usb-audio: Bound MIDI 2.0 endpoint descriptor scans
authorCássio Gabriel <cassiogabrielcontato@gmail.com>
Thu, 7 May 2026 03:40:52 +0000 (00:40 -0300)
committerTakashi Iwai <tiwai@suse.de>
Thu, 7 May 2026 10:58:16 +0000 (12:58 +0200)
commit918be519c7876329e1b6e2ea1c59f0b75e792dca
tree7f89561e7a9d09878df15eccde9106895612cf4d
parentd6854daa67be623860f4e1873fd3d3c275aba4ed
ALSA: usb-audio: Bound MIDI 2.0 endpoint descriptor scans

The USB MIDI 2.0 endpoint parser has the same descriptor walking
pattern as the legacy MIDI parser. It validates bLength against
bNumGrpTrmBlock before reading baAssoGrpTrmBlkID[], but not against the
remaining bytes in the endpoint-extra scan.

A malformed device can therefore make later baAssoGrpTrmBlkID[] reads
consume bytes past the walked descriptor.

Reject zero-length and overlong descriptors while walking endpoint
extras.

Fixes: ff49d1df79ae ("ALSA: usb-audio: USB MIDI 2.0 UMP support")
Cc: stable@vger.kernel.org
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260507-usb-midi-endpoint-scan-bounds-v1-2-329d7348160e@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/midi2.c