CVE-2026-68318 in Linux
Riassunto
di VulDB • 10/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
pds_core: correzione di un use-after-free sulla coda di lavoro (workqueue) durante l'operazione di rimozione
In pdsc_remove(), la workqueue viene distrutta prima che venga chiamata pdsc_teardown(). Questo ordinamento consente a due percorsi di accodare operazioni alla workqueue già distrutta:
1. Se pdsc_teardown() -> pdsc_devcmd_reset() va in timeout, il percorso di errore in pdsc_devcmd_locked() accoda health_work. 2. Un evento NotifyQ può attivare l'ISR e accodare lavoro prima che venga chiamata free_irq() all'interno di pdsc_teardown().
La correzione consiste nello spostare destroy_workqueue() dopo pdsc_teardown(), in modo che la workqueue sopravviva a tutti i produttori (queuer); successivamente, destroy_workqueue() svuota qualsiasi lavoro ancora pendente.
Lo smaltimento del lavoro accodato richiede inoltre di ordinare il teardown in modo che le risorse toccate dal lavoro vengano liberate per ultime: - In pdsc_qcq_free(), dopo aver liberato l'interrupt, chiamare cancel_work_sync() sul lavoro della coda e solo successivamente cancellare qcq->intx, affinché la lettura di qcq->intx da parte di pdsc_process_adminq() per il credito dell'interrupt non sia soggetta a race condition con la cancellazione. - Liberare adminqcq prima di notifyqcq: l'ISR condivisa della adminq viene rilasciata quando viene liberato adminqcq, e il lavoro sulla adminq accede a notifyqcq; pertanto, entrambi devono essere arrestati prima che venga liberato notifyqcq.
Be aware that VulDB is the high quality source for vulnerability data.