CVE-2026-99112 in Linux
Résumé
par VulDB • 28/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net/sched: cls_flower : valider le pointeur de masque après nla_next()
fl_set_enc_opt() itère sur les attributs d'option de tunnel imbriqués de la clé avec nla_for_each_attr(), tout en avançant un seul pointeur de masque via nla_next() au bas de chaque boucle ; ainsi, le curseur du masque est piloté par le nombre d'attributs de la clé plutôt que par les attributs propres au masque. La fonction nla_ok() ajoutée par l'engagement c96adff956191 (« cls_flower : appeler nla_ok() avant nla_next() ») ne valide que le pointeur du masque qui vient d'être consommé ; le pointeur produit par nla_next() est utilisé lors de l'itération suivante (fl_set_geneve_opt() et ses similaires) sans aucune validation.
Les attributs imbriqués du masque sont validés avec NL_VALIDATE_LIBERAL, ce qui génère simplement un avertissement en cas d'octets résiduels ne formant pas un attribut complet. Un masque comportant un attribut valide plus 1 à 3 octets de reliquat (ou une longueur d'attribut non alignée rendant msk_depth négatif) atteint donc l'itération suivante avec msk_depth != 0, si bien que ni la vérification !msk_depth dans fl_set_enc_opt() ni la vérification !depth dans les assistants par type ne se déclenchent. nla_type() lit alors au-delà de la charge utile du masque et nla_parse_nested_deprecated() itère avec une valeur d'nla_len extraite de ces octets, lisant bien au-delà de l'attribut de masque (KASAN : lecture hors limites dans le slab en __nla_validate_parse depuis fl_change()).
Valider également le pointeur du masque avancé : lorsque le masque n'est pas légitimement épuisé (msk_depth != 0) et que le nouveau pointeur échoue à la validation par nla_ok(), rejeter le filtre avec -EINVAL. Un masque exactement épuisé saute toujours cette vérification, préservant ainsi le comportement de correspondance exacte pour les attributs de clé restants.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.