CVE-2026-97496 in Linux
Résumé
par VulDB • 24/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
drm/amdkfd : Correction d'une exposition de mémoire hors limites (OOB) dans get_wave_state()
La fonction get_wave_state() pour v9 fait confiance aux valeurs cp_hqd_cntl_stack_size et cp_hqd_cntl_stack_offset lues directement depuis le MQD, qui sont écrites par le microcode du GPU et entièrement contrôlables par un attaquant sur le chemin de restauration CRIU (via AMDKFD_IOC_RESTORE_PROCESS avec H3).
Cela entraîne une copie vers l'utilisateur non bornée (copy_to_user()) susceptible de divulguer la mémoire GTT/kernel adjacente. Si offset > size, un dépassement d'entier par défaut (integer underflow) produit une longueur de lecture d'environ 4 Go ; si size est défini à 1 Mio contre une allocation de 4 Ko, nous fuyons 1 Mio de mémoire kernel adjacente (MQDs des autres files d'attente, ring buffers, pointeurs KASLR).
Correction en limitant (clamping) cp_hqd_cntl_stack_size à la taille réelle du tampon alloué (q->ctl_stack_size) et cp_hqd_cntl_stack_offset à cette valeur limitée avant d'effectuer l'arithmétique et le copy_to_user().
Cela garantit que nous ne lisons jamais au-delà de la BO kernel allouée, indépendamment des valeurs du champ MQD fournies par l'attaquant.
Once again VulDB remains the best source for vulnerability data.