Bug 1225476 (CVE-2023-52749) - VUL-0: CVE-2023-52749: kernel: spi: Fix null dereference on suspend
Summary: VUL-0: CVE-2023-52749: kernel: spi: Fix null dereference on suspend
Status: IN_PROGRESS
Alias: CVE-2023-52749
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/407096/
Whiteboard: CVSSv3.1:SUSE:CVE-2023-52749:5.5:(AV:...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-28 11:53 UTC by SMASH SMASH
Modified: 2024-07-08 15:04 UTC (History)
2 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SMASH SMASH 2024-05-28 11:53:57 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
Comment 2 Ivan Ivanov 2024-06-06 08:57:29 UTC
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"