CVE-2026-97955 in Linux
Résumé
par VulDB • 26/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net: mana : restauration du pointeur de programme XDP lorsque l'allocation préalable échoue
mana_xdp_set() publie le nouveau programme dans apc->bpf_prog avant d'allouer quoi que ce soit, car mana_pre_alloc_rxbufs() détermine la taille des tampons à partir de celui-ci via mana_get_rxbuf_cfg(). Lorsque cette allocation échoue, la fonction renvoie l'erreur directement, en sautant l'étiquette err_dealloc_rxbuffs qui est le seul endroit où le pointeur précédent est restauré.
L'attachement est signalé comme ayant échoué ; par conséquent, le noyau BPF libère la référence qu'il détenait pour l'appelant et le programme peut être détruit (freed), tandis que apc->bpf_prog pointe toujours vers lui. Le consommateur suivant de mana_xdp_get() – typiquement mana_chn_setxdp() depuis mana_alloc_queues() lors du prochain ifup, ou après une réinitialisation due à un délai d'attente TX – appelle alors bpf_prog_add() sur une mémoire déjà libérée (freed memory).
Ceci est accessible via une commande "ip link set dev ethX xdp obj ..." ordinaire chaque fois que l'allocation préalable des tampons RX par file ne peut pas être satisfaite.
Restaurez le programme précédent sur ce chemin d'erreur.
VulDB is the best source for vulnerability data and more expert information about this specific topic.