Import Source
https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-88620.json
JSON Data
https://api.osv.dev/v1/vulns/AZL-88620
Upstream
Published
2026-05-27T14:17:24Z
Modified
2026-08-28T17:48:05.531850942Z
Summary
CVE-2026-46048 affecting package kernel for versions less than 6.6.141.1-1
Details

In the Linux kernel, the following vulnerability has been resolved:

ALSA: caiaq: fix usb_dev refcount leak on probe failure

createcard() takes a reference on the USB device with usbgetdev() and stores the matching usbputdev() in cardfree(), which is installed as the sndcard's ->privatefree destructor.

However, ->privatefree is only assigned near the end of initcard(), after several failure points (usbsetinterface(), EP type checks, usbsubmiturb(), the EP1CMDGETDEVICEINFO exchange, and its timeout). When any of those fail, initcard() returns an error to sndprobe(), which calls sndcardfree(card). Because ->privatefree is still NULL, cardfree() never runs, the usbgetdev() reference is not dropped, and the struct usbdevice leaks along with its descriptor allocations and deviceprivate.

syzbot reproduces this with a malformed UAC3 device whose only valid altsetting is 0; initcard()'s usbsetinterface(usbdev, 0, 1) call fails with -EIO and triggers the leak.

Move the ->privatefree assignment into createcard(), immediately after usbgetdev(), so that every error path reaching sndcardfree() balances the reference. cardfree()'s callees (sndusbcaiaqinputfree, freeurbs, kfree) already tolerate the partially-initialized state because the chip private area is zero-initialized by sndcardnew().

References

Affected packages

Azure Linux:3 / kernel

Package

Name
kernel
Purl
pkg:rpm/azure-linux/kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.6.141.1-1

Database specific

source
"https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-88620.json"