CVE-2026-72484

Summary

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

staging: most: video: avoid double free on video register failure

comp_register_videodev() allocates a video_device with video_device_alloc() and releases it if video_register_device() fails.

This can double free the video_device when __video_register_device() reaches device_register() and that call fails:

video_register_device() -> __video_register_device() -> device_register() fails -> put_device(&vdev->dev) -> v4l2_device_release() -> vdev->release(vdev) -> video_device_release(vdev)

comp_register_videodev() -> video_device_release(mdev->vdev)

Use video_device_release_empty() while registering the device so that registration failure paths do not free mdev->vdev through vdev->release(). comp_register_videodev() then releases mdev->vdev exactly once on failure. Restore video_device_release() after successful registration so the registered device keeps its normal lifetime handling.

This issue was found by a static analysis tool I am developing.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 009d58b73500d0b49f6ae3833f8afcb0ebd9ddbbaffected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 430ad4ea06a0767fb44a08e2212ceb3a996607eeaffected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 46ea51f5b2ee1a3b40c05b7c750cbc5cabe94062affected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 4928096212b78262dbbeab3b3abf2352278ce22daffected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 80ed79787da3311f76b4d71d0ce7ab992a9e134daffected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 43078449ad6236d839e4d707954d2e36b10a6706affected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 7fc162453cfb7b8e93edb16287a84ba0130cac38affected
LinuxLinuxeab231c0398a91fbd294672bfe9e0ff45b368246 < 7cb1c5b32a2bfde961fff8d5204526b609bcb30aaffected
LinuxLinux4.9affected
LinuxLinux0 < 4.9unaffected
LinuxLinux5.10.261 <= 5.10.*unaffected
LinuxLinux5.15.212 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References