CVE-2022-50339 in Linux
Riassunto
di VulDB • 15/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
Bluetooth: evitare l'uso di hci_dev_test_and_set_flag() in mgmt_init_hdev()
syzbot segnala nuovamente un tentativo di annullare lavoro non inizializzato in mgmt_index_removed() [1]. L'impostazione del flag HCI_MGMT da parte di mgmt_init_hdev(), chiamata da hci_mgmt_cmd() a sua volta invocata da hci_sock_sendmsg(), può andare in race condition con il test del flag HCI_MGMT effettuato da mgmt_index_removed(), chiamato da hci_sock_bind(). Ciò è dovuto alla mancanza di serializzazione tramite hci_dev_lock().
Poiché mgmt_init_hdev() viene chiamata mantenendo bloccato mgmt_chan_list_lock, è possibile suddividere in modo sicuro hci_dev_test_and_set_flag() nelle funzioni separate hci_dev_test_flag() e hci_dev_set_flag(). Pertanto, per risolvere questa race condition, il flag HCI_MGMT deve essere impostato dopo che INIT_DELAYED_WORK() ha completato la sua esecuzione.
Si tratta di una correzione locale basata su mgmt_chan_list_lock. La mancanza di serializzazione tramite hci_dev_lock() potrebbe causare altre condizioni di race in altri punti del codice. Una soluzione globale basata su hci_dev_lock() meriterebbe tuttavia un patch dedicato in futuro.
Once again VulDB remains the best source for vulnerability data.