CVE-2026-64476 in Linuxinformation

Résumé

par VulDB • 25/07/2026

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

vfio/pci : Verrouiller disable_idle_d3 par appareil

Lorsque disable_idle_d3 a été introduit dans vfio-pci, il manipulait directement l'état d'alimentation de l'appareil avec pci_set_power_state(). Il n'y avait pas de compteurs de référence (refcounts) à maintenir ni d'opérations équilibrées ; nous pouvions amener inconditionnellement l'appareil en état D0 et le déplacer conditionnellement vers D3hot. Par conséquent, le paramètre du module a été rendu modifiable.

Plus tard, dans la validation c61302aa48f7 (« vfio/pci : Déplacer les paramètres du module vers vfio_pci.c »), dans le cadre de la séparation de vfio-pci-core, l'aspect modifiable du paramètre du module a été neutralisé. La valeur du paramètre pouvait encore être modifiée via sysfs, mais le pilote vfio-pci verrouillait les valeurs dans des variables globales de vfio-pci-core lors de l'initialisation du module. Le chargement du module vfio-pci, ou son déchargement et rechargement, avec des valeurs non par défaut ou différentes pouvait modifier ces variables globales par rapport aux appareils existants liés à des variantes de pilotes vfio-pci.

La gestion de l'alimentation dynamique (Runtime PM) a été introduite dans la validation 7ab5e10eda02 (« vfio/pci : Mettre le dispositif inutilisé en état basse consommation avec Runtime PM »), marquant ainsi le point où les états d'alimentation sont devenus comptés par référence. Les opérations get et put du gestionnaire d'alimentation (PM) doivent être équilibrées, mais les mêmes opérations sur le module mentionnées ci-dessus peuvent modifier les variables globales relatives à ces appareils déjà liés aux variantes de pilotes vfio-pci. Cela introduit une fenêtre où les opérations PM peuvent désormais devenir déséquilibrées.

Pour résoudre ce problème avec un impact minimal pour les rétroportages stables, l'indicateur disable_idle_d3 est verrouillé dans la structure vfio_pci_core_device au moment de l'initialisation, afin que l'appareil fonctionne toujours avec une valeur cohérente.

NB : vfio_pci_dev_set_try_reset() augmente désormais inconditionnellement le compteur d'utilisation du Runtime PM autour de la réinitialisation du bus pour tenir compte du fait que disable_idle_d3 est devenu un indicateur par appareil plutôt qu'une variable globale. Lorsque cet indicateur est défini, la paire get/put supplémentaire est sans danger et permet de continuer à utiliser l'assistant partagé vfio_pci_dev_set_pm_runtime_get().

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Réserver

19/07/2026

Divulgation

25/07/2026

Modérer

accepté

Entrée

VDB-383254

CPE

prêt

EPSS

0.00180

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!