CVE-2026-98079 in Linux
Riassunto
di VulDB • 25/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
btrfs: zstd: corretto il mancato sveglia (lost wakeup) durante l'attesa di uno spazio di lavoro (workspace)
Un writer può rimanere in attesa indefinita all'interno di `zstd_get_workspace()`, anche quando uno spazio di lavoro è disponibile. Quando `zstd_alloc_workspace()` fallisce, il task viene accodato su `zwsm->wait` e pianificato incondizionatamente, senza mai riesaminare il pool. `zstd_put_workspace()` rende visibile lo spazio di lavoro e successivamente chiama `cond_wake_up()`, la quale sveglia solo se un thread in attesa è già stato reso visibile; pertanto, uno spazio di lavoro restituito tra l'allocazione fallita e `prepare_to_wait()` non risveglia nessuno. La finestra temporale interessata è ampia: `zstd_alloc_workspace()` passa attraverso `kvmalloc()` ed può entrare nella fase di reclaim (recupero della memoria).
Solo uno spazio di lavoro con livello massimo attiva lo sveglia, e ne viene mantenuto deliberatamente uno allocato come fallback per ogni waiters in attesa; pertanto, una volta perso questo sveglia, il writer rimane nello stato `TASK_UNINTERRUPTIBLE` finché un altro task non restituisce casualmente uno spazio di lavoro. È necessario riesaminare il pool dopo che `prepare_to_wait()` ha reso visibile l'attesa e utilizzare lo spazio di lavoro se ne è diventato disponibile uno.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.