CVE-2022-49303
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
01/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drivers: staging: rtl8192eu: Fix deadlock in rtw_joinbss_event_prehandle<br />
<br />
There is a deadlock in rtw_joinbss_event_prehandle(), which is shown below:<br />
<br />
(Thread 1) | (Thread 2)<br />
| _set_timer()<br />
rtw_joinbss_event_prehandle()| mod_timer()<br />
spin_lock_bh() //(1) | (wait a time)<br />
... | rtw_join_timeout_handler()<br />
| _rtw_join_timeout_handler()<br />
del_timer_sync() | spin_lock_bh() //(2)<br />
(wait timer to stop) | ...<br />
<br />
We hold pmlmepriv->lock in position (1) of thread 1 and<br />
use del_timer_sync() to wait timer to stop, but timer handler<br />
also need pmlmepriv->lock in position (2) of thread 2.<br />
As a result, rtw_joinbss_event_prehandle() will block forever.<br />
<br />
This patch extracts del_timer_sync() from the protection of<br />
spin_lock_bh(), which could let timer handler to obtain<br />
the needed lock. What`s more, we change spin_lock_bh() to<br />
spin_lock_irq() in _rtw_join_timeout_handler() in order to<br />
prevent deadlock.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.18.4 (excluding) |
To consult the complete list of CPE names with products and versions, see this page



