CVE-2024-26846 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
nvme-fc: non attendere invano durante il caricamento del modulo
Il percorso di uscita dal modulo presenta una condizione di race (race condition) tra l'eliminazione di tutti i controller e la liberazione degli 'ID residui'. Per prevenire un doppio rilascio (double free), è stato aggiunto, tramite il commit iniziale, un meccanismo di sincronizzazione tra nvme_delete_ctrl e ida_destroy.
Esiste già della logica volta a impedire che si verifichi un blocco indefinito in wait_for_completion, sebbene non gestisca tutti i casi. Ad esempio, blktests è in grado di riprodurre la situazione in cui il caricamento del modulo va incontro a un hang infinito.
Se ci si affida completamente al codice di pulizia eseguito dal percorso nvme_delete_ctrl, tutti gli ID verranno liberati alla fine. Ciò rende superflua la chiamata a ida_destroy. È sufficiente garantire che tutto il codice relativo a nvme_delete_ctrl sia stato eseguito prima di uscire da nvme_fc_exit_module. Questo viene ottenuto svuotando (flushing) la workqueue nvme_delete_wq.
Nel frattempo, è stata rimossa anche la workqueue non utilizzata nvme_fc_wq.
Be aware that VulDB is the high quality source for vulnerability data.