CVE-2026-74498

Summary

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

ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set

When a USB audio endpoint requests full packet transfers via the fill_max descriptor flag, data_ep_set_params() promotes ep->curpacksize to ep->maxpacksize. However, maxsize is left at the original sample-rate derived value.

Since u->buffer_size is allocated as maxsize * packets, the resulting DMA buffer is far too small for the requested transfer length. When the USB host controller streams up to curpacksize bytes per packet, it writes past the end of the buffer via DMA, corrupting kernel heap memory.

Update maxsize to curpacksize when fill_max is set so that the allocated DMA buffer size matches the actual transfer request size.

[ changed to reassign maxsize only when ep->fill_max is set – tiwai ]

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < 10c24e6fddf4bdff0b6b05a47a4347b38e6960e8affected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < b1770f9ac35c0ffc34914d52347c65dcd5ac049baffected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < 6cbdd11f9b05b92f4aa29f09a66e19ed0e25e66caffected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < 3852974608f53e530e27c21d0c6c7d79c17b3f5aaffected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < f9b6c9576568169139ac151f7881474f384659fdaffected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < 04595233e5606d452f9f47e6989fc7ae7440fd40affected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < bd65b7191683bebd9923904f0558b9211b9129daaffected
LinuxLinux8fdff6a319e7dac757c558bd283dc4577e68cde7 < d0199ae1666ff9ae2d1d568d64c3430d4c47f0e5affected
LinuxLinux3.5affected
LinuxLinux0 < 3.5unaffected
LinuxLinux5.10.265 <= 5.10.*unaffected
LinuxLinux5.15.216 <= 5.15.*unaffected
LinuxLinux6.1.183 <= 6.1.*unaffected
LinuxLinux6.6.151 <= 6.6.*unaffected
LinuxLinux6.12.103 <= 6.12.*unaffected
LinuxLinux6.18.44 <= 6.18.*unaffected
LinuxLinux7.1.8 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References