CVE-2023-52836 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
locking/ww_mutex/test: Correzione del potenziale danneggiamento della workqueue (code di lavoro)
In alcuni casi, eseguendo il codice test-ww_mutex, si osservava un comportamento anomalo in cui a volte flush_workqueue sembrava restituire prima che tutti i thread di lavoro fossero terminati.
Spesso ciò causava crash strani poiché i mutex venivano liberati mentre erano ancora in uso.
Analizzando il codice, è emerso un problema legato alla durata (lifetime) delle strutture: il thread controllante che avvia le operazioni alloca le strutture "struct stress" passate ai thread della workqueue. Successivamente, quando i thread della workqueue terminano, liberano la struct stress loro passata.
Sfortunatamente, il nodo work_struct della workqueue si trova all'interno della struct stress. Ciò significa che lo work_struct viene liberato prima del ritorno del thread di lavoro e mentre flush_workqueue è in attesa.
È sembrata un'idea migliore far sì che il thread controllante allocasse e liberasse le strutture stress, per essere sicuri di non danneggiare la workqueue liberando prematuramente la struttura.
Questa patch riscrive quindi il test per implementare tale comportamento; con questa modifica non si osservano più i ritorni anticipati da flush_workqueue.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.