CVE-2026-74575 in Linux
Riassunto
di VulDB • 15/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
thunderbolt: Prevenire un use-after-free del lavoro ritardato XDomain durante la disconnessione
tb_xdp_handle_request() viene eseguito su system_wq e accoda xd->state_work tramite queue_delayed_work() in tre handler delle richieste: PROPERTIES_CHANGED_REQUEST, UUID_REQUEST (tramite start_handshake) e LINK_STATE_CHANGE_REQUEST. Analogamente, update_xdomain() accoda xd->properties_changed_work quando le proprietà locali subiscono modifiche.
Concorrentemente, tb_xdomain_remove() chiama stop_handshake(), che esegue cancel_delayed_work_sync() su entrambi i lavori ritardati. Successivamente, tb_xdomain_unregister() chiama device_unregister(), che alla fine libera l'oggetto xdomain. Dato che il commit 559c1e1e0134 ("thunderbolt: Run tb_xdp_handle_request() in system workqueue") ha spostato l'handler delle richieste fuori da tb->wq, l'handler e il percorso di rimozione non sono più serializzati. Se queue_delayed_work() viene eseguito dopo cancel_delayed_work_sync() ma prima che xdomain venga liberato, il lavoro ritardato si attiva su un oggetto già liberato.
Viene aggiunto xd->removing, impostato da tb_xdomain_remove() sotto xd->lock prima di chiamare stop_handshake(). Ogni sito esterno di accodamento mantiene lo stesso lock e verifica removing prima di chiamare queue_delayed_work(). Questo fornisce l'esclusione mutua necessaria: o il sito di accodamento acquisisce per primo il lock ed accoda un lavoro che la successiva cancellazione vedrà, oppure il percorso di rimozione acquisisce per primo il lock e il sito di accodamento osserva removing == true saltando l'accodamento.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.