CVE-2026-46004

ALSA: caiaq: Handle probe errors properly

HIGH
7.8
CVSS Score
Published: May 27, 2026 at 12:56 PM UTC
Updated: June 17, 2026 at 10:52 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.1%

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.25 ≤ v < 5.10.2582.6.25 ≤ v < 5.15.2092.6.25 ≤ v < 6.1.1752.6.25 ≤ v < 6.12.862.6.25 ≤ v < 6.18.272.6.25 ≤ v < 6.6.1402.6.25 ≤ v < 7.0.42.6.25 ≤ v < 7.15.11 ≤ v < 5.15.2095.16 ≤ v < 6.1.1756.13 ≤ v < 6.18.276.19 ≤ v < 7.0.46.2 ≤ v < 6.6.1406.7 ≤ v < 6.12.862.6.258e3cd08ed8e590952aa9a656758cb24d4ba898f8
Vendor states this is fixed in 28abd224db4a49560b452115bca3672a20e45b2f (fixed)
Vendor states this is fixed in 6251e3e256337a30160ef59ab1580dde4d1acd28 (fixed)
Vendor states this is fixed in 9616e25f502080ba684fc7fcf959d1376ab756d (fixed)
Vendor states this is fixed in 96dd8519cf2f768e9e14f224b627f7aaee1a9c5 (fixed)
Vendor states this is fixed in b956e48371f2ff72b76be9a829800ecec963bd45 (fixed)
Vendor states this is fixed in da938aa9fc7826901921dcea225948ab21a97e45 (fixed)
Vendor states this is fixed in e59ecd4ee3a450db6cb4e4ecaa3efdd593f80056 (fixed)
Vendor states this is fixed in f537e3ad69609f6924a4db6b4a7f6561f5288bdd (fixed)
Vendor states this is fixed in 2.6.25 (unaffected)
Vendor states this is fixed in 5.10.258 (unaffected)
Vendor states this is fixed in 5.15.209 (unaffected)
Vendor states this is fixed in 6.1.175 (unaffected)
Vendor states this is fixed in 6.12.86 (unaffected)
Vendor states this is fixed in 6.18.27 (unaffected)
Vendor states this is fixed in 6.6.140 (unaffected)
Vendor states this is fixed in 7.0.4 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card