LiveActive security incident?Get immediate response
CVE Record

CVE-2026-46048: ALSA: caiaq: fix usb_dev refcount leak on probe failure

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: fix usb_dev refcount leak on probe failure create_card() takes a reference on the USB device with usb_get_dev() and stores the matching usb_put_dev() in card_free(), which is installed as the snd_card's ->private_free destructor. However, ->private_free is only assigned near the end of init_card(), after several failure points (usb_set_interface(), EP type checks, usb_submit_urb(), the EP1_CMD_GET_DEVICE_INFO exchange, and its timeout). When any of those fail, init_card() returns an error to snd_probe(), which calls snd_card_free(card). Because ->private_free is still NULL, card_free() never runs, the usb_get_dev() reference is not dropped, and the struct usb_device leaks along with its descriptor allocations and device_private. syzbot reproduces this with a malformed UAC3 device whose only valid altsetting is 0; init_card()'s usb_set_interface(usb_dev, 0, 1) call fails with -EIO and triggers the leak. Move the ->private_free assignment into create_card(), immediately after usb_get_dev(), so that every error path reaching snd_card_free() balances the reference. card_free()'s callees (snd_usb_caiaq_input_free, free_urbs, kfree) already tolerate the partially-initialized state because the chip private area is zero-initialized by snd_card_new().

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysislow

Security readout for executives and security teams

Plain-English summary

This is a Linux kernel driver cleanup bug. A failed probe of a malformed USB audio device can leave a USB device reference unreleased, leaking kernel memory. The supplied sources do not show data theft, code execution, privilege escalation, or active exploitation.

Executive priority

Treat as routine kernel maintenance unless your environment processes untrusted USB devices. There is no supplied evidence of active exploitation or severe impact, but kernel resource leaks should still be closed through normal patch cycles.

Technical view

In the ALSA caiaq USB audio driver, create_card() takes a usb_get_dev() reference, but init_card() assigned the snd_card private_free destructor after several failure points. On early failure, snd_card_free() did not call card_free(), so usb_put_dev() never balanced the reference.

Likely exposure

Exposure appears limited to Linux systems using a kernel with the vulnerable caiaq driver path and encountering malformed or failing USB audio device probe conditions. The bundle does not identify remote exposure or broad service-facing attack surface.

Exploitation context

The source states syzbot reproduced the leak with a malformed UAC3 device. It does not cite KEV listing, in-the-wild exploitation, public weaponization, remote attackability, or confirmed security impact beyond memory/resource leakage.

Researcher notes

The fix moves private_free assignment into create_card() immediately after usb_get_dev(), ensuring snd_card_free() reaches card_free() on early init_card() failures. Sources describe tolerance for partially initialized state because snd_card_new() zero-initializes the private area.

Mitigation direction

  • Update to a vendor kernel containing the referenced stable fixes.
  • Prioritize systems that accept untrusted physical or virtual USB devices.
  • Restrict untrusted USB device attachment where operationally feasible.
  • Check Linux distribution advisories for packaged fixed kernel versions.

Validation and detection

  • Inventory Linux kernel versions on exposed workstations and servers.
  • Check whether ALSA caiaq driver support is present or loaded.
  • Map installed kernels against vendor advisories and referenced stable commits.
  • Review logs for repeated USB audio probe failures on relevant systems.
Prepared
Confidence
medium
Sources
10

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2026-46048 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
9Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux493b3a682ededc804555755f5d2193201339612d, dbcf7588e8dea017ddb3f18ec2766f7d2e5f2a0e, ac7345f68cda6989016d85d63f7b244c064aa8f6, f6634af5de728a46792f674a66d7843570cb68f7, 1d9be95aee6c6246a21752e60c9519902649f482, 6473ed16df1fe88051140611b3eb9a49be7f429e, 59b622a043cffc58b7638cd85ae6c30a0904f8e6, 80bb50e2d459213cccff3111d5ef98ed4238c0d5unaffected
LinuxLinux6.6.136, 6.12.84, 6.18.25, 7.0.2unaffected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.