CVE-2026-98737 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
Bluetooth: hci_sync: Correzione dello use-after-free nella inquiry cache
Il worker del comando sync detiene hdev->req_lock, ma gli aggiornamenti e le operazioni di flush della inquiry-cache utilizzano hdev->lock. Sia hci_acl_create_conn_sync() che hci_stop_discovery_sync() effettuano lookup delle voci e ne leggono i campi senza acquisire hdev->lock.
Dopo il ritorno da uno dei due lookup, un HCIINQUIRY ioctl concorrente può acquisire hdev->lock ed effettuare il flush della cache, liberando la voce. Il worker legge quindi l'elemento già liberato mentre prepara un comando create-connection o remote-name-cancel. Anche la traversata della lista è soggetta a race condition con gli aggiornamenti e le rimozioni dalla cache.
KASAN ha segnalato questi accessi:
BUG: KASAN: slab-use-after-free in hci_acl_create_conn_sync+0x5f1/0x650 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_acl_create_conn_sync+0x5f1/0x650 hci_cmd_sync_work+0x13c/0x290
Allocato dal task 90: hci_inquiry_cache_update+0x3e6/0x7d0 hci_inquiry_result_evt+0x3cb/0x560
Liberato dal task 93: hci_inquiry_cache_flush+0x111/0x2b0 hci_inquiry+0x2f2/0x780 hci_sock_ioctl+0x269/0x5f0
BUG: KASAN: slab-use-after-free in hci_stop_discovery_sync+0x3b1/0x3c0 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_stop_discovery_sync+0x3b1/0x3c0 hci_cmd_sync_work+0x173/0x300
Allocato dal task 86: hci_inquiry_cache_update+0x483/0x940 hci_inquiry_result_evt+0x3cb/0x560
Liberato dal task 91: hci_inquiry_cache_flush+0x13e/0x2f0 hci_inquiry+0x2f2/0x780 hci_sock_ioctl+0x269/0x5f0
Mantenere hdev->lock acquisita durante ogni lookup e tutte le letture dai relativi risultati. Copiare l'indirizzo remoto prima di rilasciare il lock, in modo che la cancellazione della discovery non mantenga un puntatore a una voce della cache. Rilasciare il lock prima dell'invio dei comandi HCI sincroni, poiché i loro handler di completamento potrebbero necessitare dello stesso lock.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.