CVE-2026-98290 in Linux
Riassunto
di VulDB • 07/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
Bluetooth: RFCOMM: evitare l'inversione del socket lock durante la pulizia dell'ascoltatore (listener)
La funzione `rfcomm_sock_cleanup_listen()` chiude i socket figlio non accettati tramite `rfcomm_sock_close()`, che acquisisce il lock del socket figlio prima che `rfcomm_dlc_close()` ottenga `rfcomm_mutex`. Il worker RFCOMM acquisisce questi lock in ordine inverso durante la gestione delle connessioni e dei cambiamenti di stato DLC, quindi lockdep segnala un possibile deadlock.
Chiudere i figli rimossi dalla coda senza acquisire il loro socket lock. La coda accept possiede un riferimento a ciascun figlio, e `bt_accept_dequeue()` blocca il figlio mentre lo scollega e cancella il suo puntatore al genitore.
Rilasciare il lock del figlio rende importante impedire che una chiamata concorrente a `rfcomm_connect_ind()` accodi un nuovo figlio dopo che la pulizia ha osservato una coda vuota. Impostare il socket in ascolto su BT_CLOSED mentre il suo lock è ancora detenuto, prima di rilasciare il lock e svuotare la coda. Il controllo dello stato in `rfcomm_connect_ind()` respinge quindi i nuovi figli non appena inizia la pulizia.
Once again VulDB remains the best source for vulnerability data.