CVE-2022-49309CWE-667

CVE-2022-49309

Medium · published February 26, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
9.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback()

There is a deadlock in rtw_surveydone_event_callback(),

which is shown below:

(Thread 1) | (Thread 2)

| _set_timer()

rtw_surveydone_event_callback()| mod_timer()

spin_lock_bh() //(1) | (wait a time)

... | rtw_scan_timeout_handler()

del_timer_sync() | spin_lock_bh() //(2)

(wait timer to stop) | ...

We hold pmlmepriv->lock in position (1) of thread 1 and use

del_timer_sync() to wait timer to stop, but timer handler

also need pmlmepriv->lock in position (2) of thread 2.

As a result, rtw_surveydone_event_callback() will block forever.

This patch extracts del_timer_sync() from the protection of

spin_lock_bh(), which could let timer handler to obtain

the needed lock. What`s more, we change spin_lock_bh() in

rtw_scan_timeout_handler() to spin_lock_irq(). Otherwise,

spin_lock_bh() will also cause deadlock() in timer handler.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00199 · 9.2th percentile
Weakness
CWE-667 · Improper Locking
Published
2025-02-26T12:01Z
Affected products (3)
ProductVersionsFixed in
linux/linux_kernel< 5.15.475.15.47
linux/linux_kernel≥ 5.16, < 5.17.155.17.15
linux/linux_kernel≥ 5.18, < 5.18.45.18.4
References (6)
EPSS history
Timeline
  • 26 FEB 02:10Z
    drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback()
    cvelistv5