CVE-2023-52749

Summary

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
  5. spi_controller_resume() calls spi_start_queue() which resets cur_msg to NULL
  6. 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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxae7d2346dc89ae89a6e0aabe6037591a11e593c0 < 4ec4508db97502a12daee88c74782e8d35ced068affected
LinuxLinuxae7d2346dc89ae89a6e0aabe6037591a11e593c0 < 96474ea47dc67b0704392d59192b233c8197db0eaffected
LinuxLinuxae7d2346dc89ae89a6e0aabe6037591a11e593c0 < bef4a48f4ef798c4feddf045d49e53c8a97d5e37affected
LinuxLinux6.0affected
LinuxLinux0 < 6.0unaffected
LinuxLinux6.1.66 <= 6.1.*unaffected
LinuxLinux6.6.3 <= 6.6.*unaffected
LinuxLinux6.7 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

References