CVE-2026-89890: media: go7007: defer the ALSA v4l2 put until card release

Published Sep 16, 2026
·
Updated

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

media: go7007: defer the ALSA v4l2 put until card release

go7007sndinit() already takes a v4l2device reference for the ALSA side, but go7007sndremove() drops it immediately after calling sndcardfreewhenclosed().

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->privatedata and call go7007sndhwfree() after the V4L2 release path has freed the object.

Move the matching v4l2deviceput() to the ALSA card privatefree callback so the existing ALSA reference covers the whole deferred card lifetime.

Event History

Sep 16, 2026
CVE Published
via MITRE·10:31 AM
Data Sourced
via MITRE·10:31 AM
Description

Frequently Asked Questions

1

Who is exposed to this issue?

Systems using the Linux kernel go7007 media driver are exposed when the driver’s ALSA capture PCM interface is in use. The problematic condition requires a userspace process to keep a capture PCM file open while the associated V4L2 object is released.

2

What must happen for the use-after-free condition to be triggered?

A capture PCM must remain open after go7007_snd_remove() calls snd_card_free_when_closed(). The deferred ALSA PCM release path can then invoke go7007_snd_hw_free() through pcm->private_data after the V4L2 release path has freed the go7007 object.

3

What is the relevant mitigation if the fix cannot be applied immediately?

Ensure that userspace closes active go7007 capture PCM handles before removing or releasing the associated device. Avoid deferred ALSA card teardown while capture PCM users still have the device open.

4

How does the fix prevent the issue?

The fix retains the V4L2 device reference for the entire deferred ALSA card lifetime. It moves v4l2_device_put() into the ALSA card private_free callback, so the go7007 object remains valid until the last PCM file is closed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203