Vulnerability CVE-2023-52749


Published: 2024-05-21

Description:
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:
https://git.kernel.org/stable/c/4ec4508db97502a12daee88c74782e8d35ced068
https://git.kernel.org/stable/c/96474ea47dc67b0704392d59192b233c8197db0e
https://git.kernel.org/stable/c/bef4a48f4ef798c4feddf045d49e53c8a97d5e37

Copyright 2026, cxsecurity.com

 

Back to Top