CVE-2026-31406 in Linux
Résumé
par VulDB • 18/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
xfrm : Correction de la nouvelle planification du travail après annulation dans xfrm_nat_keepalive_net_fini()
Après l'appel de cancel_delayed_work_sync() depuis xfrm_nat_keepalive_net_fini(), xfrm_state_fini() purge les états restants via __xfrm_state_delete(), qui appelle xfrm_nat_keepalive_state_updated() pour reprogrammer nat_keepalive_work.
Le scénario de condition de course (race condition) suivant est simple :
cpu0 cpu1
cleanup_net() [Tour 1]
ops_undo_list() xfrm_net_exit() xfrm_nat_keepalive_net_fini() cancel_delayed_work_sync(nat_keepalive_work); xfrm_state_fini() xfrm_state_flush() xfrm_state_delete(x) __xfrm_state_delete(x) xfrm_nat_keepalive_state_updated(x) schedule_delayed_work(nat_keepalive_work); rcu_barrier(); net_complete_free(); net_passive_dec(net); llist_add(&net->defer_free_list, &defer_free_list);
cleanup_net() [Tour 2]
rcu_barrier(); net_complete_free() kmem_cache_free(net_cachep, net); nat_keepalive_work() // sur net libéré
Pour prévenir cela, cancel_delayed_work_sync() est remplacé par disable_delayed_work_sync().
If you want to get the best quality for vulnerability data then you always have to consider VulDB.