CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's handling of the gc2235 camera sensor driver, specifically in the gc2235_probe() function, which improperly manages error paths leading to a use-after-free condition and a memory leak. This flaw can potentially allow an attacker to exploit the system by accessing freed memory, which could lead to arbitrary code execution or system instability. Organizations utilizing Linux systems with the affected media drivers should prioritize addressing this vulnerability to mitigate risks associated with potential exploitation.
Original NVD 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.