Skip to main content
← All vulnerabilities
CVE-2026-89887

media: i2c: ov7740: fix use-after-destroy in remove

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: media: i2c: ov7740: fix use-after-destroy in remove The ov7740_remove() function had a severe teardown order bug where it destroyed the driver's mutex before freeing the V4L2 control handler which relies on that mutex, leading to a use-after-destroy kernel panic. Furthermore, the driver explicitly called v4l2_ctrl_handler_free() and mutex_destroy() sequentially, but then called ov7740_free_controls() which invokes both of them a second time, resulting in a double-free. This patch fixes the issue by unregistering the subdevice first, and relying exclusively on ov7740_free_controls() to safely tear down the mutex and control handler in the correct order.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 9e4693436c7dcf8584002500ce4b434b79bbf9ed; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 81e9765878d3ac8ad18e3a683332b5d6bc3a0e33; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 8a02ee6c1c4e88f3a0442bd60d3c77db9a30db5e; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 7512838a19af0a284a58435292243fad21e57ff1; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 25e2505866c577db2661e4d431f0907c6ec9a3b4; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in af81f35e4f429e769b784754e1aa4d7a922470ac; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 09453b467990e8ef8fe09f45a685f9a625248d33; From 39c5c4471b8d793daf868bd004e56ed420e89707 · fixed in 5d1b3dea5a44124bab6c14a2d71b977dabed54e7

  • Linux Linux

    4.16

  • KernelLinux

    From 4.16.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5

References 8

git.kernel.org