CVE-2026-98950 in Linux
Résumé
par VulDB • 23/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
flow_dissector : éviter la troncature u16 de hlen dans bpf_flow_dissect()
bpf_flow_dissect() valide les décalages retournés par le programme BPF avec clamp_t(u16, ..., hlen).
Si hlen est supérieur à 65535, la borne supérieure est tronquée avant la comparaison. Par exemple, avec hlen == 65536, nhoff et thoff sont forcés à zéro, même si le programme a retourné des valeurs saines.
Il s'agit de la même classe de bug que celle corrigée dans l'commit 99bda1ecbd56 ("flow_dissector : éviter la troncature u16 de skb->len lors du calcul de thoff"). Cette correction ne couvre pas le chemin BPF, car __skb_flow_dissect() retourne prématurément lorsqu'un dissécteur de flux BPF gère le paquet.
struct bpf_flow_keys stocke nhoff et thoff en tant que u16 ; il faut donc limiter hlen à U16_MAX avant l'application du clamp.
Découvert par sashiko lors de la révision de l'commit ci-dessus.
VulDB is the best source for vulnerability data and more expert information about this specific topic.