CVE-2026-98150 in Linuxinformation

Résumé

par VulDB • 25/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

bpf : Correction de la validation BPF_F_CPU pour les identifiants CPU épars (sparse)

BPF_F_CPU stocke l'identifiant du CPU cible dans les 32 bits supérieurs des drapeaux d'opération de la map. bpf_map_check_op_flags() compare actuellement cet ID avec num_possible_cpus(), qui représente le nombre de CPUs possibles plutôt qu'une borne supérieure pour les IDs CPU.

Sur un invité QEMU arm64 présentant une lacune dans l'arborescence des dispositifs CPU (CPU device-tree hole), le masque des CPUs possibles était 0,2-3. Un programme utilisateur utilisant des appels système bpf() bruts crée une BPF_MAP_TYPE_PERCPU_ARRAY et effectue des opérations de mise à jour et de recherche pour chaque CPU en définissant BPF_F_CPU et l'ID CPU dans les drapeaux.

Avec l'ancien contrôle, le CPU 1 est incorrectement accepté tandis que le CPU 3 valide est rejeté avec -ERANGE. La mise à jour du CPU 1 atteint ensuite le chemin d'accès à la map par-CPU (per-CPU) et déclenche :

Unable to handle kernel paging request at virtual address ... pc : __pi_memcpy_generic+0x5c/0x22c lr : bpf_percpu_array_update+0x2dc/0x2e8 Call trace: __pi_memcpy_generic bpf_map_update_value map_update_elem __sys_bpf

Vérifiez l'ID CPU par rapport à nr_cpu_ids et cpu_possible() au lieu de cela. Cela rejette les IDs CPU en dehors de la plage valide ainsi que les CPUs absents du masque possible, tout en autorisant les IDs CPU épars (sparse) valides.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Réserver

25/09/2026

Divulgation

25/09/2026

Modérer

accepté

Entrée

VDB-409986

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you know our Splunk app?

Download it now for free!