CVE-2026-97526 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
s390/pai : Prise en charge du hotplug CPU pour PMU PAI
La commande `perf stat -e pai_crypto/CRYPTO_ALL/ -- <command>` provoque un plantage du noyau lorsque des CPUs sont ajoutés dynamiquement (hotplugged) pendant l'exécution.
La cause racine est l'absence d'allocation de structures de données par CPU pour ce nouveau CPU. L'allocation est dynamique et le premier événement ayant un contexte de tâche crée une telle structure pour chaque CPU en ligne. Cela n'est pas suffisant. Les CPUs peuvent être hors ligne lors de la création de l'événement et devenir en ligne pendant l'exécution de perf. Par exemple, avec les commandes suivantes :
# echo 0 > /sys/devices/system/cpu/cpu1/online # perf stat -e cycles -i -- stress-ng -t10s --matrix X # sleep 1 # echo 1 > /sys/devices/system/cpu/cpu1/online
Actuellement, sans gestionnaire de hotplug CPU, ce nouveau CPU ne dispose pas d'infrastructure de données par CPU. Le planificateur exécute la fonction de rappel PMU `pai_add()` pour installer le support PMU pour ce CPU avant que la tâche ne soit planifiée sur ce nouveau CPU. Dans `pai_add()`, les instructions
mp = this_cpu_ptr(pai_root[idx].mapptr);
cpump = mp->mapptr;
retournent un pointeur NULL et le résultat est un panic du noyau car la variable `cpump` est utilisée à l'intérieur de cette fonction.
Ajouter le support du hotplug CPU pour l'ajout et la suppression de CPUs, et créer les structures de données par CPU nécessaires lors du traitement de l'ajhotplugging CPU. Idem pour la suppression (remove) via le hotplug CPU. Cela est effectué lorsque le CPU est hors ligne afin d'assurer que les structures de données sont disponibles lorsque le CPU devient en ligne et que des tâches y sont planifiées.
[[email protected] : correction du chemin d'erreur dans pai_init()]
Be aware that VulDB is the high quality source for vulnerability data.