CVE-2023-54288
Spinlock Deadlock Vulnerability in Linux mac80211 WiFi Driver
Publication date: 2025-12-30
Last updated on: 2025-12-30
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability in the Linux kernel's wifi mac80211 subsystem involves a deadlock caused by improper handling of a spinlock in the ieee80211_tx_dequeue() function. An asynchronous interrupt can occur between acquiring and releasing a spinlock, and the interrupt handler tries to acquire the same spinlock again, leading to a deadlock or CPU reset on single CPU/core systems. The issue was fixed by fortifying the spinlock to prevent deadlocks on the same CPU/core and wifi device.
How can this vulnerability impact me? :
This vulnerability can cause a deadlock or a costly reset of the CPU and the wifi device, or cause the system to hang in single CPU and single core scenarios. This can lead to system instability, loss of network connectivity, and potential downtime.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring kernel logs for warnings related to inconsistent lock states and deadlocks involving the queue_stop_reason_lock. Specifically, look for kernel messages such as 'WARNING: inconsistent lock state' and traces involving ieee80211_tx_dequeue and queue_stop_reason_lock. You can use the command 'dmesg | grep -i "queue_stop_reason_lock"' or 'journalctl -k | grep -i "queue_stop_reason_lock"' to check for such warnings in the kernel logs.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version where the spin_lock on queue_stop_reason_lock has been fortified to prevent deadlocks caused by interrupts. Applying the patch that disables interrupts during the spin_lock on queue_stop_reason_lock will prevent the deadlock scenario. Until the update is applied, monitoring for symptoms such as CPU resets or hangs related to wifi devices and avoiding workloads that trigger heavy wifi transmission may reduce the risk.