CVE-2026-46004 ALSA: caiaq: Handle probe errors properly
A use-after-free vulnerability in the Linux kernel's caiaq audio driver allows attackers to potentially execute code or escalate privileges via improper error handling during device probing.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-46004?
CVE-2026-46004 is a high-severity use after free vulnerability in Linux kernel, published on 27 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.
Weakness: CWE-416
Which versions are affected by CVE-2026-46004?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-46004?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-46004 being exploited?
There is no known exploitation of CVE-2026-46004 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-88689, BELL-CVE-2026-46004, DEBIAN-CVE-2026-46004, GHSA-gmmg-288v-pj32, ROOT-OS-DEBIAN-11-CVE-2026-46004, ROOT-OS-DEBIAN-12-CVE-2026-46004 and 3 more.