CVE-2023-53281
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-09-16

Last updated on: 2025-12-02

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: drivers: staging: rtl8723bs: Fix locking in _rtw_join_timeout_handler() Commit 041879b12ddb ("drivers: staging: rtl8192bs: Fix deadlock in rtw_joinbss_event_prehandle()") besides fixing the deadlock also modified _rtw_join_timeout_handler() to use spin_[un]lock_irq() instead of spin_[un]lock_bh(). _rtw_join_timeout_handler() calls rtw_do_join() which takes pmlmepriv->scanned_queue.lock using spin_[un]lock_bh(). This spin_unlock_bh() call re-enables softirqs which triggers an oops in kernel/softirq.c: __local_bh_enable_ip() when it calls lockdep_assert_irqs_enabled(): [ 244.506087] WARNING: CPU: 2 PID: 0 at kernel/softirq.c:376 __local_bh_enable_ip+0xa6/0x100 ... [ 244.509022] Call Trace: [ 244.509048] <IRQ> [ 244.509100] _rtw_join_timeout_handler+0x134/0x170 [r8723bs] [ 244.509468] ? __pfx__rtw_join_timeout_handler+0x10/0x10 [r8723bs] [ 244.509772] ? __pfx__rtw_join_timeout_handler+0x10/0x10 [r8723bs] [ 244.510076] call_timer_fn+0x95/0x2a0 [ 244.510200] __run_timers.part.0+0x1da/0x2d0 This oops is causd by the switch to spin_[un]lock_irq() which disables the IRQs for the entire duration of _rtw_join_timeout_handler(). Disabling the IRQs is not necessary since all code taking this lock runs from either user contexts or from softirqs, switch back to spin_[un]lock_bh() to fix this.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-09-16
Last Modified
2025-12-02
Generated
2026-05-27
AI Q&A
2025-09-16
EPSS Evaluated
2026-05-25
NVD
Affected Vendors & Products
Showing 5 associated CPEs
Vendor Product Version / Range
linux linux_kernel From 5.15.47 (inc) to 5.15.111 (exc)
linux linux_kernel From 5.17.15 (inc) to 5.18 (exc)
linux linux_kernel From 5.18.4 (inc) to 6.1.28 (exc)
linux linux_kernel From 6.2 (inc) to 6.2.15 (exc)
linux linux_kernel From 6.3 (inc) to 6.3.2 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-667 The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a locking issue in the Linux kernel driver for rtl8723bs wireless devices. The function _rtw_join_timeout_handler() was changed to use spin_[un]lock_irq() instead of spin_[un]lock_bh(), which disables interrupts (IRQs) for the entire duration of the handler. This caused a kernel oops (crash) because the code re-enables softirqs while IRQs are disabled, violating kernel locking rules. The fix was to revert to using spin_[un]lock_bh(), which properly manages softirqs without disabling IRQs unnecessarily.


How can this vulnerability impact me? :

This vulnerability can cause kernel crashes (oops) on systems using the affected rtl8723bs driver, leading to system instability or downtime. It may disrupt wireless connectivity and affect the reliability of the system until the fix is applied.


What immediate steps should I take to mitigate this vulnerability?

Apply the patch that fixes the locking in _rtw_join_timeout_handler() by reverting the use of spin_[un]lock_irq() back to spin_[un]lock_bh() in the rtl8723bs driver. This prevents the kernel oops caused by improper IRQ disabling. Updating the Linux kernel to a version that includes commit 041879b12ddb or later will mitigate this issue.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart