CVE-2026-98632 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
Bluetooth: mgmt: Rimuovere le voci mesh_send_sync pendenti dall'elenco di cancellazione
In send_cancel(), gli oggetti mesh_tx pendenti vengono rimossi dalla lista hdev->mesh_pending e liberati tramite mesh_send_complete(). Tuttavia, se una trasmissione mesh era già stata accodata in hdev->cmd_sync_work_list attraverso mesh_next(), la voce accodata mantiene un puntatore grezzo a mesh_tx.
Quando hci_cmd_sync_work elabora successivamente la voce, tenta di eseguire mesh_send_sync e il suo callback di distruzione mesh_send_start_complete utilizzando il puntatore mesh_tx già liberato, causando un use-after-free.
Risolvere questo problema invocando hci_cmd_sync_dequeue() per mesh_send_sync sul target mesh_tx prima del completamento. Se la voce viene trovata e rimossa dalla coda (dequeued), il suo callback di distruzione completerà l'operazione e libérerà l'oggetto; in caso contrario, verrà chiamato direttamente mesh_send_complete().
Inoltre, assicurarsi che la coda delle trasmissioni proceda dopo una cancellazione o un errore. In mesh_send_start_complete(), chiamare mesh_next() in caso di errore a meno che err non sia -ECANCELED, poiché hci_cmd_sync_dequeue() detiene il lock hdev->cmd_sync_work_lock e chiamare mesh_next() in modo sincrono causerebbe un deadlock (blocco reciproco). Avanzare invece la coda in send_cancel() una volta rilasciato il lock e se nessuna trasmissione è in corso.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.