CVE-2024-53150

ALSA: usb-audio: Fix out of bounds reads when finding clock sources

State
Published
Severity
7.1 High
Published
Dec 24, 2024
Updated
May 23, 2026
Reserved
Nov 19, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

ALSA: usb-audio: Fix out of bounds reads when finding clock sources

The current USB-audio driver code doesn't check bLength of each descriptor at traversing for clock descriptors. That is, when a device provides a bogus descriptor with a shorter bLength, the driver might hit out-of-bounds reads.

For addressing it, this patch adds sanity checks to the validator functions for the clock descriptor traversal. When the descriptor length is shorter than expected, it's skipped in the loop.

For the clock source and clock multiplier descriptors, we can just check bLength against the sizeof() of each descriptor type. OTOH, the clock selector descriptor of UAC2 and UAC3 has an array of bNrInPins elements and two more fields at its tail, hence those have to be checked in addition to the sizeof() check.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before a632bdcb359fd8145e86486ff8612da98e239acdAffected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before 45a92cbc88e4013bfed7fd2ccab3ade45f8e896bAffected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before ab011f7439d9bbfd34fd3b9cef4b2d6d952c9bb9Affected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before da13ade87a12dd58829278bc816a61bea06a56a9Affected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before 74cb86e1006c5437b1d90084d22018da30fddc77Affected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before ea0fa76f61cf8e932d1d26e6193513230816e11dAffected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before 096bb5b43edf755bc4477e64004fa3a20539ec2fAffected
  • b8e4f1fdfa422398c2d6c47bfb7d1feb3046d70a to before a3dd4d63eeb452cfb064a13862fb376ab108f6a6Affected
  • 9feeaa50e5b4b0b71259d918a36ecf9059e60796Affected
  • 3b17a13b687ae99939dc94a4ae01fbc34f68deccAffected
  • 4.19.84 to before 4.20Affected
  • 5.3.11 to before 5.4Affected
LinuxLinux
  • 5.4Affected
  • before 5.4Not affected
  • 5.4.287 through 5.4.*Not affected
  • 5.10.231 through 5.10.*Not affected
  • 5.15.174 through 5.15.*Not affected
  • 6.1.120 through 6.1.*Not affected
  • 6.6.64 through 6.6.*Not affected
  • 6.11.11 through 6.11.*Not affected
  • 6.12.2 through 6.12.*Not affected
  • 6.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.