CVE-2026-80650

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa49d25364dfb9f8a64037488a39ab1f56c5fa419 < fdbb8e55578b4ab647fa58827a9dd8730d7f4addaffected
LinuxLinuxa49d25364dfb9f8a64037488a39ab1f56c5fa419 < d57e67ea48e4d095052f2b14d8dd7593621f862faffected
LinuxLinuxa49d25364dfb9f8a64037488a39ab1f56c5fa419 < f614bf0a64aa1cb7444d152a96798a6bf1d49e1faffected
LinuxLinuxa49d25364dfb9f8a64037488a39ab1f56c5fa419 < 628f763aee0047ff44974388d6f70f75a763026baffected
LinuxLinux4.12affected
LinuxLinux0 < 4.12unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References