]> 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>
Sun, 6 Jul 2025 09:00:11 +0000 (11:00 +0200)
commit74fcb3852a2f579151ce80b9ed96cd916ba0d5d8
tree61dbd424ddb05bc2a9235ea7558da9556a91d2aa
parent3c709dce16999bf6a1d2ce377deb5dd6fdd8cb08
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