CVE-2026-80845 in Linux
Résumé
par VulDB • 04/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
xfrm : éviter une inversion de verrou dans le travail nat_keepalive
nat_keepalive_work() parcourt la table d'état alors que xfrm_state_walk() détient net->xfrm.xfrm_state_lock. Sa fonction de rappel acquiert ensuite x->lock, ce qui entre en conflit avec le chemin de suppression prenant les mêmes verrous dans l'ordre inverse via xfrm_state_delete() et __xfrm_state_delete(). Cela crée un blocage AB-BA (deadlock) signalé par lockdep lorsqu'un travailleur NAT keepalive est en concurrence d'exécution avec la suppression des SA.
Corrigez ce problème en divisant le parcours de keepalive en deux phases. Premièrement, collectez les états candidats pendant que le parcours détient xfrm_state_lock et prenez une référence sur chaque état. Ensuite, après la fin du parcours, traitez chaque état collecté et acquériez x->lock sans l'imbriquer sous xfrm_state_lock.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.