CVE-2026-46004
Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: Handle probe errors properly The probe procedure of setup_card() in caiaq driver doesn't treat the error cases gracefully, e.g. the error from snd_card_register() calls snd_card_free() but continues. This would lead to a UAF for the further calls like snd_usb_caiaq_control_init(), as Berk suggested in another patch in the link below. However, the problem is not only that; in general, this function drops the all error handlings (as it's a void function) although its caller can propagate an error to snd_probe(), which eventually calls snd_card_free() as a proper error path. That said, we should treat each error case in setup_card(), and just return the error code promptly, which is then handled later as a fatal error in snd_probe(). This patch achieves it by changing the setup_card() to return an error code. Also, the superfluous snd_card_free() call is removed, too. Note that card->private_free can be set still safely at returning an error. All called functions in card_free() have checks of the unassigned resources or NULL checks.
How to fix
- linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 or later
- git.kernel.org/stable/c/09616e25f502080ba684fc7fcf959d1376ab756d
- git.kernel.org/stable/c/096dd8519cf2f768e9e14f224b627f7aaee1a9c5
- git.kernel.org/stable/c/28abd224db4a49560b452115bca3672a20e45b2f
- git.kernel.org/stable/c/6251e3e256337a30160ef59ab1580dde4d1acd28
- git.kernel.org/stable/c/b956e48371f2ff72b76be9a829800ecec963bd45
- git.kernel.org/stable/c/da938aa9fc7826901921dcea225948ab21a97e45
- git.kernel.org/stable/c/e59ecd4ee3a450db6cb4e4ecaa3efdd593f80056
- git.kernel.org/stable/c/f537e3ad69609f6924a4db6b4a7f6561f5288bdd
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 2.6.25 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.140, 6.7 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.27, 6.19 ≤ v < 7.0.4 | 5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.