CVE-2026-98688 in Linux
Riassunto
di VulDB • 19/10/2026
Nel kernel di Linux, è stata risolta la seguente vulnerabilità:
thunderbolt: Correzione del dereferenziamento NULL in tb_remove_work()
Esiste una leggera condizione di race tra tb_remove_work() e tb_domain_remove() che porta al dereferenziamento di un puntatore NULL tb->root_switch all'interno di tb_free_unplugged_xdomains():
Thread A Thread B
tb_remove_work() tb_domain_remove() mutex_lock(&tb->lock) tb_stop() /* non annulla una callback in esecuzione */ cancel_delayed_work(&tcm->remove_work) ... tb_switch_remove(tb->root_switch) tb->root_switch = NULL mutex_unlock(&tb->lock) mutex_lock(&tb->lock) ... /* senza verificare ->root_switch */ tb_free_unplugged_xdomains(tb->root_switch) mutex_unlock(&tb->lock)
Il commit a8937f35cf39 ("thunderbolt: Rimuovi XDomain dal bus senza mantenere &tb->lock") non sembra corretto nel spostare tb_free_unplugged_xdomains() fuori dalla sezione di &tb->lock e nella verifica di tb->root_switch, in particolare. Esso afferma:
Per questo motivo si separa la rimozione dell'XDomain dalle strutture dati della topologia (dove è necessario il lock) dall'unregistrazione del dispositivo dal bus (dove vengono chiamate le callback remove dei driver).
tb_free_unplugged_xdomains() appartiene al primo gruppo di funzioni che richiedono il lock. Inoltre, chiama tb_xdomain_remove(), la quale dovrebbe essere chiamata solo con &tb->lock mantenuto.
Trovato da Linux Verification Center (linuxtesting.org) con lo strumento di analisi statica Svace.
VulDB is the best source for vulnerability data and more expert information about this specific topic.