CVE Catalog

CVE-2026-89890

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel media go7007 driver, go7007_snd_init() takes a v4l2_device reference for the ALSA side, but go7007_snd_remove() drops it immediately after calling snd_card_free_when_closed(). This is too early when a userspace process still has the capture PCM open, potentially leading to a use-after-free.

Risk Assessment

A use-after-free by the ALSA release path can lead to kernel memory corruption, system panic, or potential exploitation for privilege escalation.

Recommendation

Update the Linux kernel to a version with the fix that moves the matching v4l2_device_put() to the ALSA card private_free callback.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: media: go7007: defer the ALSA v4l2 put until card release go7007_snd_init() already takes a v4l2_device reference for the ALSA side, but go7007_snd_remove() drops it immediately after calling snd_card_free_when_closed(). That is too early when a userspace process still has the capture PCM open. The ALSA card and its PCM callbacks remain alive until the last file is closed, so the release path can still reach struct go7007 through pcm->private_data and call go7007_snd_hw_free() after the V4L2 release path has freed the object. Move the matching v4l2_device_put() to the ALSA card private_free callback so the existing ALSA reference covers the whole deferred card lifetime.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS