media: zoran: Avoid freeing a registered video_device twice
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.273, 5.15.224, 5.17, 5.18, 6.1.188, and 4 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: media: zoran: Avoid freeing a registered video_device twice zoran_init_video_device() installs zoran_vdev_release() as the video_device release callback through zoran_template. After video_register_device() succeeds, video_unregister_device() drops the registered video_device reference and the V4L2 core eventually invokes that release callback, which kfree()s the video_device. zoran_exit_video_devices() called video_unregister_device() and then kfree(zr->video_dev), so device teardown could free the same video_device twice. Remove the direct kfree() and clear the cached pointer after unregistering. The pre-registration failure path keeps its manual free because the video_device was not registered there. This issue was found by a static analysis checker and confirmed by manual source review.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 5.10.110 · fixed in 5.10.273; From 5.15.33 · fixed in 5.15.224; From 5.16.19 · fixed in 5.17; From 5.17.2 · fixed in 5.18
- Linux Linux
5.18
- KernelLinux
From 5.18.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
- stable/c/29792762e65d4eefbe75b6048c59763fd844191a
- stable/c/99277a387802eb6c1907c73f09d746908cc64913
- stable/c/3ad6cf27505017a6794f5f96c31218c2291e951b
- stable/c/c4acac8cdc005b2d14b6cef5e215d264212857f3
- stable/c/4d99d8d0d895489064783601a516bd45812fa992
- stable/c/f1c4f3885df1f09bcab5296d86834d104f865e86
- stable/c/672dbccf4351370dad002d3c78dbb29ca1588f22
- stable/c/0735e0b5a96761a9ce277a238e834008ad92a0a5