CVE-2026-89870: media: zoran: Avoid freeing a registered video_device twice

Published Sep 16, 2026
·
Updated

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

media: zoran: Avoid freeing a registered videodevice twice

zoraninitvideodevice() installs zoranvdevrelease() as the videodevice release callback through zorantemplate. After videoregisterdevice() succeeds, videounregisterdevice() drops the registered videodevice reference and the V4L2 core eventually invokes that release callback, which kfree()s the videodevice.

zoranexitvideodevices() called videounregisterdevice() and then kfree(zr->videodev), so device teardown could free the same videodevice twice.

Remove the direct kfree() and clear the cached pointer after unregistering. The pre-registration failure path keeps its manual free because the videodevice was not registered there.

This issue was found by a static analysis checker and confirmed by manual source review.

Event History

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

Frequently Asked Questions

1

Are failures before video_register_device() succeeds affected?

No. The pre-registration failure path remains manually freed because the video_device was not registered and therefore is not released by the V4L2 core.

2

When does the double-free condition occur?

It occurs during teardown after video_register_device() has succeeded. video_unregister_device() releases the registered device reference and eventually invokes the configured release callback, so directly freeing the cached video_device pointer afterward can free it a second time.

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