Bug 1225805 (CVE-2024-36922) - VUL-0: CVE-2024-36922: kernel: wifi: iwlwifi: read txq->read_ptr under lock
Summary: VUL-0: CVE-2024-36922: kernel: wifi: iwlwifi: read txq->read_ptr under lock
Status: RESOLVED FIXED
Alias: CVE-2024-36922
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/408221/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-36922:4.7:(AV:...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-03 07:46 UTC by SMASH SMASH
Modified: 2024-06-14 09:49 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-06-03 07:46:02 UTC
In the Linux kernel, the following vulnerability has been resolved:

wifi: iwlwifi: read txq->read_ptr under lock

If we read txq->read_ptr without lock, we can read the same
value twice, then obtain the lock, and reclaim from there
to two different places, but crucially reclaim the same
entry twice, resulting in the WARN_ONCE() a little later.
Fix that by reading txq->read_ptr under lock.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-36922
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-36922.mbox
https://git.kernel.org/stable/c/b83db8e756dec68a950ed2f056248b1704b3deaa
https://git.kernel.org/stable/c/43d07103df670484cdd26f9588eabef80f69db89
https://git.kernel.org/stable/c/c2ace6300600c634553657785dfe5ea0ed688ac2
https://www.cve.org/CVERecord?id=CVE-2024-36922
Comment 2 Takashi Iwai 2024-06-13 13:53:18 UTC
SLE15-SP6 branch already contains the fix backport.

The relevant code doesn't present on SLE15-SP5 and older kernels.
Comment 3 Andrea Mattiazzo 2024-06-14 09:49:10 UTC
All done, closing.