CVE-2023-53281 in Linux
Résumé
par VulDB • 02/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
drivers: staging: rtl8723bs : Correction de la gestion des verrous dans _rtw_join_timeout_handler()
Le commit 041879b12ddb (« drivers: staging: rtl8192bs : Correction d'un blocage dans rtw_joinbss_event_prehandle() »), outre la résolution du blocage, a également modifié _rtw_join_timeout_handler() pour utiliser spin_[un]lock_irq() au lieu de spin_[un]lock_bh().
_rtw_join_timeout_handler() appelle rtw_do_join(), qui acquiert pmlmepriv->scanned_queue.lock à l'aide de spin_[un]lock_bh(). Cet appel à spin_unlock_bh() réactive les softirqs, ce qui déclenche un oops dans kernel/softirq.c : __local_bh_enable_ip() lors de l'appel à lockdep_assert_irqs_enabled() :
[ 244.506087] AVERTISSEMENT : CPU : 2 PID : 0 à kernel/softirq.c:376 __local_bh_enable_ip+0xa6/0x100
... [ 244.509022] Pile d'appels :
[ 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
Cet oops est causé par le passage à spin_[un]lock_irq(), qui désactive les IRQs pendant toute la durée d'exécution de _rtw_join_timeout_handler().
La désactivation des IRQs n'est pas nécessaire car tout le code acquérant ce verrou s'exécute soit dans des contextes utilisateur, soit dans des softirqs ; il convient de revenir à spin_[un]lock_bh() pour corriger ce problème.
If you want to get best quality of vulnerability data, you may have to visit VulDB.