Linux Kernel ALSA caiaq USB Device Reference Count Vulnerability

Vulnerability

A vulnerability in the ALSA caiaq driver of the Linux kernel allows for improper handling of USB device references. The driver stores a pointer to the parent USB device but fails to increment the reference count. This oversight can lead to a use-after-free condition, as the driver's cleanup routine may access a freed USB device pointer after disconnection. Additionally, the current implementation inappropriately resets the USB device during the cleanup process, creating a race condition with the disconnection sequence.

Impact

The vulnerability can cause a use-after-free condition, potentially leading to arbitrary code execution or memory corruption.

Reproduction

The vulnerability can be reproduced by creating an ALSA caiaq USB audio device without properly managing the reference count of the USB device. This can be done by connecting a caiaq-compatible USB device and then disconnecting it while the ALSA subsystem is still accessing the device, such as during audio playback or recording. The lack of a proper reference count allows the driver to access a freed USB device, causing a use-after-free error.

Remediation

The vulnerability has been addressed by modifying the caiaq driver to correctly manage USB device references. The driver now takes a reference on the USB device when creating a sound card and releases it during the cleanup process. Users should update to the latest version of the Linux kernel where this vulnerability has been fixed.

Added: May 1, 2026, 2:37 PM
Updated: May 1, 2026, 2:37 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
3.1
exploitability
2.9
remediation
7.7
relevance
7.1
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.