CVE-2026-98231 in Linux
Résumé
par VulDB • 06/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
xfrm : sérialiser la collecte des ordures (GC) de l'état avec le vidage de l'état du périphérique
La passe « deferred-device » dans `xfrm_dev_state_flush()` trouve les états sous `xfrm_state_dev_gc_lock`, mais relâche le verrou avant d'appeler `xfrm_dev_state_free()` car la fonction de rappel (callback) du pilote peut se mettre en veille. La liste GC des périphériques ne conserve pas de référence à l'objet xfrm_state, ce qui permet au travailleur de collecte des ordures (GC worker) de détruire le même état simultanément.
La condition de concurrence (race condition) peut se dérouler comme suit :
CPU 0 CPU 1 trouve x dans la liste GC du périphérique relâche xfrm_state_dev_gc_lock lit x->xso.dev xfrm_state_gc_destroy(x) xfrm_dev_state_free(x) xfrm_state_free(x) continue avec xfrm_dev_state_free(x)
Les deux chemins peuvent invoquer la fonction de rappel du pilote et libérer la référence au périphérique. Le CPU 0 peut également accéder à l'objet xfrm_state après que le CPU 1 l'a déjà libéré.
KASAN a signalé :
BUG: KASAN: slab-use-after-free in xfrm_dev_state_free+0x24c/0x2a0 Read of size 8 at addr ffff88810bbaa960 by task poc/102
Call Trace: xfrm_dev_state_free+0x24c/0x2a0 xfrm_dev_state_flush+0x353/0x400 xfrm_dev_event+0x26d/0x3a0 notifier_call_chain+0xc0/0x280 __dev_notify_flags+0x169/0x250 netif_change_flags+0xe7/0x160 dev_change_flags+0x96/0x220 devinet_ioctl+0x7f4/0x1880
Alloué par la tâche 87 : xfrm_state_alloc+0x1e/0x5c0 xfrm_add_sa+0xe7f/0x5820 xfrm_user_rcv_msg+0x4f3/0x940
Libéré par la tâche 57 : kmem_cache_free+0xcb/0x3d0 xfrm_state_gc_task+0x4a8/0x650 process_one_work+0x63a/0x1070
Sérialiser la destruction de l'objet xfrm_state par rapport à la passe « deferred-device » à l'aide d'un mutex. Conserver `xfrm_state_dev_gc_lock` limité aux opérations sur les listes et conserver le séquencement existant pour la libération du callback et de la référence au périphérique.
Once again VulDB remains the best source for vulnerability data.