Bugzilla – Bug 1225476
VUL-0: CVE-2023-52749: kernel: spi: Fix null dereference on suspend
Last modified: 2024-07-08 15:04:07 UTC
In the Linux kernel, the following vulnerability has been resolved: spi: Fix null dereference on suspend A race condition exists where a synchronous (noqueue) transfer can be active during a system suspend. This can cause a null pointer dereference exception to occur when the system resumes. Example order of events leading to the exception: 1. spi_sync() calls __spi_transfer_message_noqueue() which sets ctlr->cur_msg 2. Spi transfer begins via spi_transfer_one_message() 3. System is suspended interrupting the transfer context 4. System is resumed 6. spi_controller_resume() calls spi_start_queue() which resets cur_msg to NULL 7. Spi transfer context resumes and spi_finalize_current_message() is called which dereferences cur_msg (which is now NULL) Wait for synchronous transfers to complete before suspending by acquiring the bus mutex and setting/checking a suspend flag. References: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2023-52749 https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2023/CVE-2023-52749.mbox https://git.kernel.org/stable/c/4ec4508db97502a12daee88c74782e8d35ced068 https://git.kernel.org/stable/c/96474ea47dc67b0704392d59192b233c8197db0e https://git.kernel.org/stable/c/bef4a48f4ef798c4feddf045d49e53c8a97d5e37 https://www.cve.org/CVERecord?id=CVE-2023-52749
Initial code which introduces this race condition is [1] and it is first found in Linux v6.0. All of our products based on later Linux versions are contain fix for the issue. Not affected. [1] ae7d2346dc89a "spi: Don't use the message queue if possible in spi_sync"