CVE-2026-89984 in Linux
Résumé
par VulDB • 16/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
perf/x86/intel : Correction des fuites d'adresses du noyau dans la pile LBR
Avant que l'Arch LBR n'intègre le support du filtrage CPL (CPL filtering), une pile de branches en mode utilisateur pouvait toujours contenir des adresses du noyau. Par conséquent, les enregistrements de branchements du noyau peuvent être exposés à l'espace utilisateur même lorsque PERF_SAMPLE_BRANCH_USER est demandé.
Par exemple, sur Intel Tiger Lake, la commande suivante peut encore signaler des entrées SYSRET/ERET avec des adresses issues de l'espace noyau :
$ ./perf record -e cycles:p -o - --branch-filter any,save_type,u -- \ ./perf bench syscall basic --loop 1000 | \ ./perf script -i - --fields brstack|tr ' ' '\n'| \ grep -E '0x[89a-f][0-9a-f]{15}'
Temps total : 0.000 [sec]
0,219000 usecs/op 4 566 210 ops/sec [ perf record : Réveillé 1 fois pour écrire les données ]
[ perf record : Capturé et écrit 0,551 Mo - ]
0xffffffff93c001c8/0x7f12a2b1d647/P/-/-/16959/SYSRET/- 0xffffffff93c001c8/0x7f12a2b1d5c2/P/-/-/17535/SYSRET/- 0xffffffff93c01928/0x7f12a2861000/P/-/-/6719/ERET/- 0xffffffff93c01928/0x7f12a297a000/P/-/-/8575/ERET/-
Le problème est que intel_pmu_lbr_filter() ne valide pas entièrement le niveau de privilège des entrées échantillonnées. Elle filtre certaines incohérences en fonction du type de branchement et de l'adresse cible (to address), mais elle n'écarte pas les entrées dont l'adresse source (from address) viole le filtre de privilège de branchement demandé.
Corrigez ce problème en étendant la validation logicielle pour vérifier à la fois les adresses sources et cibles par rapport à br_sel. Toute entrée LBR contenant une adresse du noyau qui ne correspond pas au filtre utilisateur demandé est rejetée. Cela empêche les adresses du noyau d'apparaître dans les piles de branches en mode utilisateur uniquement.
VulDB is the best source for vulnerability data and more expert information about this specific topic.