mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
ALSA: usb-audio: Use correct version for UAC3 header validation
The entry of the validators table for UAC3 AC header descriptor is
defined with the wrong protocol version UAC_VERSION_2, while it should
have been UAC_VERSION_3. This results in the validator never matching
for actual UAC3 devices (protocol == UAC_VERSION_3), causing their
header descriptors to bypass validation entirely. A malicious USB
device presenting a truncated UAC3 header could exploit this to cause
out-of-bounds reads when the driver later accesses unvalidated
descriptor fields.
The bug was introduced in the same commit as the recently fixed UAC3
feature unit sub-type typo, and appears to be from the same copy-paste
error when the UAC3 section was created from the UAC2 section.
Fixes: 57f8770620 ("ALSA: usb-audio: More validations of descriptor units")
Cc: <stable@vger.kernel.org>
Signed-off-by: Jun Seo <jun.seo.93@proton.me>
Link: https://patch.msgid.link/20260226010820.36529-1-jun.seo.93@proton.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
aa4876fe2d
commit
54f9d645a5
1 changed files with 1 additions and 1 deletions
|
|
@ -281,7 +281,7 @@ static const struct usb_desc_validator audio_validators[] = {
|
|||
/* UAC_VERSION_2, UAC2_SAMPLE_RATE_CONVERTER: not implemented yet */
|
||||
|
||||
/* UAC3 */
|
||||
FIXED(UAC_VERSION_2, UAC_HEADER, struct uac3_ac_header_descriptor),
|
||||
FIXED(UAC_VERSION_3, UAC_HEADER, struct uac3_ac_header_descriptor),
|
||||
FIXED(UAC_VERSION_3, UAC_INPUT_TERMINAL,
|
||||
struct uac3_input_terminal_descriptor),
|
||||
FIXED(UAC_VERSION_3, UAC_OUTPUT_TERMINAL,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue