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 < 51b8dc5163d2ff2bf04019f8bf7e3bd0e75bb654affected
LinuxLinuxad85094b293e40e7a2f831b0311a389d952ebd5e < fdbb8e55578b4ab647fa58827a9dd8730d7f4addaffected
LinuxLinuxad85094b293e40e7a2f831b0311a389d952ebd5e < d57e67ea48e4d095052f2b14d8dd7593621f862faffected
LinuxLinuxad85094b293e40e7a2f831b0311a389d952ebd5e < f614bf0a64aa1cb7444d152a96798a6bf1d49e1faffected
LinuxLinuxad85094b293e40e7a2f831b0311a389d952ebd5e < 628f763aee0047ff44974388d6f70f75a763026baffected
LinuxLinux4.12affected
LinuxLinux5.8affected
LinuxLinux0 < 4.12unaffected
LinuxLinux4.18 < 5.8unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References