CVE-2026-64460 in Linux
Résumé
par VulDB • 27/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
PCI/IOV : Ignorer la restauration du VF Resizable BAR en cas d'erreur de lecture
sriov_restore_vf_rebar_state() utilise le registre de contrôle VF Resizable BAR Control pour déterminer combien de VF BAR restaurer (nbars) et quel VF BAR est adressé à chaque itération (bar_idx). bar_idx indexe dans dev->sriov->barsz[], qui ne contient que PCI_SRIOV_NUM_BARS (6) entrées.
Lorsqu'un périphérique ne répond pas, les lectures de configuration retournent généralement PCI_ERROR_RESPONSE (~0). Les deux champs ayant une largeur de 3 bits, nbars et bar_idx sont tous deux évalués à 7. L'accès à barsz[] sort alors des limites du tableau. UBSAN signale ceci comme suit :
UBSAN: array-index-out-of-bounds in drivers/pci/iov.c:948:51 index 7 is out of range for type 'resource_size_t [6]'
Observé sur un GPU NVIDIA RTX PRO 1000 (GB207GLM) qui a cessé de répondre lors d'une tentative échouée de sortie de l'état d'alimentation GC6. L'appel ultérieur à pci_restore_state() a invoqué sriov_restore_vf_rebar_state() alors que les lectures de configuration retournaient 0xffffffff, déclenchant le plantage (splat).
Abandonner si toute lecture du registre VF Resizable BAR Control retourne PCI_ERROR_RESPONSE. Aucun autre VF BAR n'est modifié, ce qui est sûr car une lecture de configuration retournant PCI_ERROR_RESPONSE indique que le périphérique est inaccessible et que la restauration est inutile. Cela fait écho à la garde dans pci_restore_rebar_state().
If you want to get best quality of vulnerability data, you may have to visit VulDB.