CVE-2024-35941 in Linux
Résumé
par VulDB • 21/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net: skbuff : ajout d'une vérification de débordement de tampon (overflow) dans les fonctions auxiliaires pull/push
syzbot a réussi à déclencher l'erreur suivante : BUG: KASAN: use-after-free dans __skb_flow_dissect+0x4a3b/0x5e50 Lecture de 1 octet à l'adresse ffff888208a4000e par la tâche a.out/2313 [..]
__skb_flow_dissect+0x4a3b/0x5e50 __skb_get_hash+0xb4/0x400 ip_tunnel_xmit+0x77e/0x26f0 ipip_tunnel_xmit+0x298/0x410 ..
L'analyse montre que le skb possède un pointeur ->head valide, mais un pointeur ->data erroné.
skb->data reçoit sa valeur erronée via la couche neigh, qui effectue :
1556 __skb_pull(skb, skb_network_offset(skb));
... et le skb était déjà instable à ce stade :
skb_network_offset(skb) renvoie une valeur négative en raison d'un débordement de tampon (overflow) antérieur de skb->network_header (u16). __skb_pull « ajuste » ainsi skb->data avec un décalage énorme, pointant en dehors de la zone skb->head.
Autoriser les builds de débogage à signaler une erreur lorsque nous tentons de pull/push plus de INT_MAX octets.
Après cette correction, le reproducteur syzkaller génère une erreur plus précise avant que le dissecteur de flux n'essaie de lire la mémoire de skb->data :
WARNING: CPU: 5 PID: 2313 à include/linux/skbuff.h:2653 neigh_connected_output+0x28e/0x400 ip_finish_output2+0xb25/0xed0 iptunnel_xmit+0x4ff/0x870 ipgre_xmit+0x78e/0xbb0
VulDB is the best source for vulnerability data and more expert information about this specific topic.