CVE-2024-53150 A-382239029 ASB-A-382239029
ALSA: usb-audio: Fix out of bounds reads when finding clock sources
- Severity
- 7.1 / 10
- High · CVSS 3.1
- Exploit chance (EPSS)
- 1.35%
- Chance of exploitation in the next 30 days. Higher than 71.59% of scored vulnerabilities.
- Known exploited
- Yes
- In CISA's catalog since Apr 9, 2025
- Weakness
- CWE-125 Out-of-bounds Read
- Fix
6.12.2- Upgrade Kernel to this version or later
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.
Affected versions
Linux
| Package | Vulnerable | Fixed in |
|---|---|---|
| Kernel | >= 5.4.0, < 5.4.287>= 5.5.0, < 5.10.231>= 5.11.0, < 5.15.174>= 5.16.0, < 6.1.120>= 6.2.0, < 6.6.64>= 6.7.0, < 6.11.11>= 6.12.0, < 6.12.2 |
5.4.2875.10.2315.15.1746.1.1206.6.646.11.116.12.2 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
Kernel Linux → 6.12.2
Set Kernel to 6.12.2 or later in your manifest.
Severity breakdown
CVSS 3.1 7.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- High
Weakness
CWE-125: Out-of-bounds Read
The product reads data past the end, or before the beginning, of the intended buffer.
How to prevent it
- Implementation: Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright. To reduce the likelihood of introducing an out-of-bounds read, ensure that you validate and ensure correct calculations for any length argument, buffer size calculation, or offset. Be especially careful of relying on a sentinel (i.e. special character such as NUL) in untrusted inputs.
- Architecture and Design: Use a language that provides appropriate memory abstractions.
References
Advisories
Packages
Other links
- git.kernel.org/stable/c/096bb5b43edf755bc4477e64004fa3a20539ec2f
- git.kernel.org/stable/c/45a92cbc88e4013bfed7fd2ccab3ade45f8e896b
- git.kernel.org/stable/c/74cb86e1006c5437b1d90084d22018da30fddc77
- git.kernel.org/stable/c/a3dd4d63eeb452cfb064a13862fb376ab108f6a6
- git.kernel.org/stable/c/a632bdcb359fd8145e86486ff8612da98e239acd
- git.kernel.org/stable/c/ab011f7439d9bbfd34fd3b9cef4b2d6d952c9bb9
- git.kernel.org/stable/c/da13ade87a12dd58829278bc816a61bea06a56a9
- git.kernel.org/stable/c/ea0fa76f61cf8e932d1d26e6193513230816e11d
- lists.debian.org/debian-lts-announce/2025/03/msg00001.html
- lists.debian.org/debian-lts-announce/2025/03/msg00002.html
- cisa.gov/known-exploited-vulnerabilities-catalog
Timeline
- Published
- Added to CISA's Known Exploited Vulnerabilities catalog
- Remediation due for U.S. federal agencies
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| CVE-2026-53362 ipv6: account for fraggap on the paged allocation path | High Known exploited | Also affects Kernel |
| CVE-2026-53266 netfilter: bridge: make ebt_snat ARP rewrite writable | High Known exploited | Also affects Kernel |
| CVE-2026-46300 net: skbuff: preserve shared-frag marker during coalescing | High Known exploited | Also affects Kernel |
| CVE-2026-31431 crypto: algif_aead - Revert to operating out-of-place | High Known exploited | Also affects Kernel |
| CVE-2025-39964 crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg | Medium Known exploited | Also affects Kernel |
| CVE-2025-39682 tls: fix handling of zero-length records on the rx_list | Critical Known exploited | Also affects Kernel |
| CVE-2025-38352 posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() | High Known exploited | Also affects Kernel |
| CVE-2024-53197 ALSA: usb-audio: Fix potential out-of-bound accesses for Extigy and Mbox devices | High Known exploited | Also affects Kernel |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor