PT-2024-9693 · Linux+10 · Linux Kernel+10
Remi Pommarel
·
Published
2024-05-29
·
Updated
2025-09-29
·
CVE-2024-40912
CVSS v3.1
5.5
Medium
| Vector | AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
Linux kernel versions prior to 6.4.0-02158-g1b062f552873 #742
Description
The issue is related to a deadlock in the ieee80211 sta ps deliver wakeup() function, which is part of the mac80211 component in the Linux kernel. This function takes a lock called sta->ps lock to synchronize with another function called ieee80211 tx h unicast ps buf(), which is called from a softirq context. However, using only spin lock() to get sta->ps lock in ieee80211 sta ps deliver wakeup() does not prevent softirq from executing on the same CPU, leading to a deadlock when it tries to take the same lock. This can cause a denial-of-service condition.
Recommendations
To resolve this issue, update the Linux kernel to a version that includes the fix for the deadlock in ieee80211 sta ps deliver wakeup(). Specifically, use spin lock bh()/spin unlock bh() instead of spin lock() to prevent softirq from raising on the same CPU that is holding the lock.
At the moment, there is no information about a newer version that contains a fix for this vulnerability.
Exploit
DoS
Improper Locking
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Alt Linux
Almalinux
Astra Linux
Centos
Linuxmint
Linux Kernel
Red Hat
Red Os
Rocky Linux
Suse
Ubuntu