]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3()
authorYoungjun Lee <yjjuny.lee@samsung.com>
Mon, 23 Jun 2025 11:05:25 +0000 (20:05 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:38 +0000 (15:57 +0200)
commitc3fb926abe90d86f5e3055e0035f04d9892a118b
tree71c334418627bdc93cd0a3386bce5f20afb1903b
parent9199e8cb75f13a1650adcb3c6cad42789c43884e
ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3()

[ Upstream commit fb4e2a6e8f28a3c0ad382e363aeb9cd822007b8a ]

In snd_usb_get_audioformat_uac3(), the length value returned from
snd_usb_ctl_msg() is used directly for memory allocation without
validation. This length is controlled by the USB device.

The allocated buffer is cast to a uac3_cluster_header_descriptor
and its fields are accessed without verifying that the buffer
is large enough. If the device returns a smaller than expected
length, this leads to an out-of-bounds read.

Add a length check to ensure the buffer is large enough for
uac3_cluster_header_descriptor.

Signed-off-by: Youngjun Lee <yjjuny.lee@samsung.com>
Fixes: 9a2fe9b801f5 ("ALSA: usb: initial USB Audio Device Class 3.0 support")
Link: https://patch.msgid.link/20250623-uac3-oob-fix-v1-1-527303eaf40a@samsung.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/usb/stream.c