CVE-2026-98040 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
bpf : Marquer le registre zéro comme précis pour une vérification de NULL sous forme de registre
check_cond_jmp_op() accepte « if rA == rB » comme une vérification de NULL pour un pointeur nullable rA lorsque rB est un scalaire connu pour être nul, retire PTR_MAYBE_NULL de rA dans la branche correspondante et ne marque pas rB comme précis. Considérez le programme suivant :
r0 = bpf_get_prandom_u32(); r6 = 1; /* le chemin r6 == 0 est exploré en premier */ if (r0 == 0) goto 1f; r6 = 0; 1: r0 = bpf_map_lookup_elem(map, &0); /* absent, NULL à l'exécution */ if (r0 == r6) goto 2f; /* pris comme une vérification de NULL pour r0 */ *(u8 *)(r0 + 0); /* vérificateur : valeur de la carte ; exécution : zéro */ 2: return 0;
Le chemin r6 == 0 est exploré en premier et la déréférencement est accepté. Le chemin r6 == 1 est élagué au point d'arrêt enregistré pour (1), donc la comparaison n'est jamais vérifiée avec un r6 non nul. À l'exécution, une recherche échouée renvoie NULL, NULL != 1 prend le bord non-NULL et le programme déréférence un pointeur qui vaut zéro.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.