CVE-2023-53281 in Linux
Zusammenfassung
von VulDB • 02.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drivers: staging: rtl8723bs: Behebung der Sperrproblematik in _rtw_join_timeout_handler()
Das Commit 041879b12ddb („drivers: staging: rtl8192bs: Behebung eines Deadlocks in rtw_joinbss_event_prehandle()") hat nicht nur den Deadlock behoben, sondern auch _rtw_join_timeout_handler() so geändert, dass spin_[un]lock_irq() anstelle von spin_[un]lock_bh() verwendet wird.
_rtw_join_timeout_handler() ruft rtw_do_join() auf, das pmlmepriv->scanned_queue.lock mit spin_[un]lock_bh() sperrt. Dieser spin_unlock_bh()-Aufruf aktiviert Soft-IRQs erneut, was einen Oops in kernel/softirq.c: __local_bh_enable_ip() auslöst, wenn lockdep_assert_irqs_enabled() aufgerufen wird:
[ 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
Dieser Oops wird durch den Wechsel zu spin_[un]lock_irq() verursacht, der die IRQs für die gesamte Dauer von _rtw_join_timeout_handler() deaktiviert.
Das Deaktivieren der IRQs ist nicht erforderlich, da der gesamte Code, der diese Sperre verwendet, entweder aus Benutzerkontexten oder aus Soft-IRQs heraus ausgeführt wird. Wechseln Sie zurück zu spin_[un]lock_bh(), um dies zu beheben.
Once again VulDB remains the best source for vulnerability data.