ALSA: usb-audio: Clamp frame size in implicit-feedback mode
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.265, 5.15.216, 6.1.183, 6.6.151, 6.12.103, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Clamp frame size in implicit-feedback mode snd_usb_handle_sync_urb() scales received sync packet sizes by the sender's stride and stores the result directly in out_packet->packet_size[i]. If a connected USB device sends an oversized sync packet, this frame count can exceed ep->maxframesize. The un-clamped frame count then propagates to the playback endpoint queue, potentially driving packet transfers beyond the endpoint's hardware frame limits. Cap the calculated frame count against ep->maxframesize in snd_usb_handle_sync_urb() to prevent oversized packets from entering the playback queue.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in 2d39fea6d3c19a2f5811d123114d92e3d0115fd1; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in 09cf3dbbb4256a43feb91d2f51f274510a9ada47; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in cfa8d3e0e8b812c4db4d5241f62b6bdbab2bd7be; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in 56ac3e7c90f6b45969c3fd07a98fad760ffd6901; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in be97fea7451d758881b95af78e900dd0d58a382a; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in 2db4535d6af79276a64449201c5be5feffb31c64; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in 53f0aa37eb945f3c983f61d12fc35eb33debb8a9; From 28acb12014fb0c3e1edfdab1b1e3e266cf651550 · fixed in 8d7a30c50c2e58a6839634ed0acde14466d1dc61
- Linux Linux
3.8
- KernelLinux
From 3.8.0 · fixed in 5.10.265; From 5.11.0 · fixed in 5.15.216; From 5.16.0 · fixed in 6.1.183; From 6.2.0 · fixed in 6.6.151; From 6.7.0 · fixed in 6.12.103; From 6.13.0 · fixed in 6.18.44; From 6.19.0 · fixed in 7.1.8
References 8
git.kernel.org
- stable/c/2d39fea6d3c19a2f5811d123114d92e3d0115fd1
- stable/c/09cf3dbbb4256a43feb91d2f51f274510a9ada47
- stable/c/cfa8d3e0e8b812c4db4d5241f62b6bdbab2bd7be
- stable/c/56ac3e7c90f6b45969c3fd07a98fad760ffd6901
- stable/c/be97fea7451d758881b95af78e900dd0d58a382a
- stable/c/2db4535d6af79276a64449201c5be5feffb31c64
- stable/c/53f0aa37eb945f3c983f61d12fc35eb33debb8a9
- stable/c/8d7a30c50c2e58a6839634ed0acde14466d1dc61