In the Linux kernel, the following vulnerability has been resolved: media: atomisp: gc2235: fix...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
media: atomisp: gc2235: fix UAF and memory leak
gc2235_probe() handles its error paths incorrectly.
If media_entity_pads_init() fails, gc2235_remove() is called, which tears down the subdev and frees dev, but then still falls through to atomisp_register_i2c_module(). This results in use-after-free.
If atomisp_register_i2c_module() fails, the media entity and control handler are left initialized and dev is leaked.
gc2235_remove() unconditionally calls media_entity_cleanup() and v4l2_ctrl_handler_free(), but these are not initialized at every error path in gc2235_probe().
Replace gc2235_remove() calls in the probe error paths with explicit unwind labels that free only the resources initialized at each point of failure, in reverse order of initialization.
🔗 References (6)
- https://nvd.nist.gov/vuln/detail/CVE-2026-80650
- https://git.kernel.org/stable/c/628f763aee0047ff44974388d6f70f75a763026b
- https://git.kernel.org/stable/c/d57e67ea48e4d095052f2b14d8dd7593621f862f
- https://git.kernel.org/stable/c/f614bf0a64aa1cb7444d152a96798a6bf1d49e1f
- https://git.kernel.org/stable/c/fdbb8e55578b4ab647fa58827a9dd8730d7f4add
- https://github.com/advisories/GHSA-g5xp-8jpc-79mv