A vulnerability has been resolved in the Linux kernel involving a probe race issue with the sii902x bridge. This caused a null pointer dereference crash, which has now been addressed in the latest patches. In this article, we will examine the exploit details and the code fix for this vulnerability.
Exploit Details
The vulnerability (CVE-2024-26607) involves the DRM (Direct Rendering Manager) subsystem in the Linux kernel, specifically the sii902x bridge. A probing race issue in the kernel was leading to a null pointer dereference crash on Texas Instruments (TI) platforms using the sii9022 bridge. The crashing stack trace was observed as shown in the code snippet above.
The root cause of this issue is due to the probing of the tidss module while the sii902x module is still uninitialized. When the sii902x module starts probing, it calls the drm_bridge_add() function, which causes the bridge to be considered as ready by the DRM system. However, the i2c part of the sii902x driver was not set up yet, leading to the crash.
Code Fix
The solution to this issue involves moving the drm_bridge_add() call to the end of the sii902x_init() function, which also happens to be at the very end of the sii902x_probe() function. With this change, the DRM system will only consider the sii902x bridge to be ready after the i2c initialization, preventing the null pointer dereference crash.
This code fix has been committed to the Linux kernel source tree, and the patch can be found at the following link: Linux kernel patch
Original References
- Linux Commit Patch
- CVE details for CVE-2024-26607
Conclusion
If you are using a Linux kernel affected by this vulnerability (CVE-2024-26607), it is essential to apply the latest patches and updates to prevent possible crashes and system instability. By understanding the details of this vulnerability and the code fix, developers can better protect their systems and maintain a secure environment. Always make sure to keep your kernel updated with the latest security patches to avoid any potential vulnerabilities.
Timeline
Published on: 02/29/2024 12:15:47 UTC
Last modified on: 05/29/2024 05:19:27 UTC