In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Fix potential memory leaks
When the driver hits -ENOMEM at allocating a URB or a buffer, it aborts and goes to the error path that releases the all previously allocated resources. However, when -ENOMEM hits at the middle of the sync EP URB allocation loop, the partially allocated URBs might be left without released, because ep->nurbs is still zero at that point.
Fix it by setting ep->nurbs at first, so that the error handler loops over the full URB list.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 3.5 | 4.9.331 |
| linux / linux_kernel | 4.10 | 4.14.296 |
| linux / linux_kernel | 4.15 | 4.19.262 |
| linux / linux_kernel | 4.20 | 5.4.220 |
| linux / linux_kernel | 5.5 | 5.10.150 |
| linux / linux_kernel | 5.11 | 5.15.75 |
| linux / linux_kernel | 5.16 | 5.19.17 |
| linux / linux_kernel | 6.0 | 6.0.3 |