KernelScan.io

HIGH Introduced in 3.18

usbtv AudioCard UAF

CVE-2026-90032

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.6MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: media: usbtv: keep device alive while ALSA card exists The ALSA PCM callbacks store the driver state in pcm->private_data. An open PCM file can outlive USB disconnect because usbtv_audio_free() uses snd_card_free_when_closed(). The disconnect path can then drop the V4L2 device reference and free struct usbtv before ALSA releases the substream, so a later close dereferences freed memory in snd_usbtv_pcm_close(). Take a V4L2 device reference for the ALSA card and drop it from the card private_free callback. This keeps struct usbtv valid until ALSA has closed the remaining files and freed the card.

02

Engine v0.6.0

Risk summary

A use-after-free in the USB TV audio driver can be triggered by physically unplugging a USB TV device while its audio stream is open. An attacker with physical access to the USB port could exploit this to crash the kernel or potentially achieve code execution. Systems without exposed USB ports or with sealed enclosures are not at risk.

Affecteddrivers/media/usb/usbtv/usbtv-audio.c (media: usbtv)

Vulnerability analysis

When a USB TV device is disconnected while its audio stream is still open, the driver tears down the device's internal state before the sound subsystem has finished using it. The ALSA card is configured to persist until all open sound files are closed, but the underlying USB device structure is released immediately on disconnect, leaving a dangling pointer in the audio callback data. Closing the audio file afterwards dereferences that freed memory. The fix takes an extra reference on the V4L2 device when the ALSA card is created and releases it only when the card is fully torn down, keeping the structure valid for as long as any audio file remains open. The vulnerability requires a USB TV device to be present and physically unplugged while someone has its audio device open, so an attacker needs physical access to the USB port.

03

BranchIntroducedFixed inPatch commit
7.23.187.2.51618257cb0ab
6.123.186.12.110239d1683e08b
5.153.185.15.221503be26ff888
6.63.186.6.15767374e3a0081
6.183.186.18.517690a86b1932
5.103.185.10.27097b5e8b22b98
6.13.186.1.188be0f7745f883
mainline3.187.3-rc1fc530fe168bb
cip/6.123.186.12.111-cip32239d1683e08b