CVE-2026-98149 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
bpf : Correction de l'indexation des mises à jour de cartes percpu avec des identifiants CPU épars (sparse)
Les mises à jour des cartes en tableau par-CPU, hachage et stockage cgroup sans les drapeaux BPF_F_CPU ou BPF_F_ALL_CPUS utilisent un tampon de valeur dont les emplacements par-CPU sont compactés dans l'ordre des identifiants CPU possibles. La taille du tampon est définie comme suit :
round_up(value_size, 8) * num_possible_cpus()
Les chemins de mise à jour itèrent sur les CPU possibles, mais utilisent l'identifiant logique du CPU pour calculer le décalage source :
value + size * cpu
Cela ne fonctionne que lorsque les identifiants CPU possibles sont contigus et commencent par zéro.
Par exemple, avec un masque de CPU possible de 0,2-3, le tampon contient trois emplacements correspondant aux CPUs 0, 2 et 3. Le CPU2 est donc censé utiliser l'emplacement 1 et le CPU3 l'emplacement 2. Au lieu de cela, le code actuel utilise les emplacements 2 et 3 respectivement, ce qui entraîne des valeurs par-CPU incorrectes et une lecture hors limites (out-of-bounds) depuis le tampon de mise à jour pour le CPU3.
Les chemins de recherche correspondants utilisent déjà un décalage dense lors de l'itération sur les CPU possibles. Appliquez la même approche aux chemins de mise à jour des cartes en tableau, hachage et stockage cgroup, en avançant le décalage source d'une unité pour chaque CPU possible. BPF_F_ALL_CPUS continue d'utiliser la même valeur pour tous les CPUs.
If you want to get best quality of vulnerability data, you may have to visit VulDB.