CVE-2026-80845 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
xfrm: evitare l'inversione di lock nel lavoro nat_keepalive
La funzione `nat_keepalive_work()` attraversa la tabella degli stati mentre `xfrm_state_walk()` detiene il lock `net->xfrm.xfrm_state_lock`. Il suo callback acquisisce quindi `x->lock`, che entra in conflitto con il percorso di eliminazione, il quale prende gli stessi lock in ordine inverso tramite `xfrm_state_delete()` e `__xfrm_state_delete()`. Questo crea un deadlock AB-BA segnalato da lockdep quando un worker del keepalive NAT compete (race condition) con l'eliminazione dello SA.
Si risolve questo problema suddividendo la traversata del keepalive in due fasi. Innanzitutto, si raccolgono gli stati candidati mentre la traversata detiene `xfrm_state_lock` e si acquisisce un riferimento su ciascuno stato. Successivamente, dopo il completamento della traversata, si elabora ciascun stato raccolto e si acquisisce `x->lock` senza annidarlo sotto `xfrm_state_lock`.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.