CVE-2026-64476 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

vfio/pci: Memorizzazione (latch) di disable_idle_d3 per dispositivo

Quando disable_idle_d3 fu introdotto in vfio-pci, manipolava direttamente lo stato energetico del dispositivo tramite pci_set_power_state(). Non esistevano refcount da mantenere o operazioni bilanciate; era possibile portare incondizionatamente il dispositivo allo stato D0 e spostarlo condizionalmente a D3hot. Di conseguenza, il parametro del modulo fu reso scrivibile.

In seguito, nel commit c61302aa48f7 ("vfio/pci: Move module parameters to vfio_pci.c"), nell'ambito della suddivisione di vfio-pci-core, l'aspetto scrivibile del parametro del modulo è stato annullato. Il valore del parametro poteva ancora essere modificato tramite sysfs, ma il driver vfio-pci memorizzava (latch) i valori nelle variabili globali di vfio-pci-core all'avvio del modulo. Il caricamento del modulo vfio-pci o la sua disinstallazione e reinstallazione con valori non predefiniti o diversi poteva modificare le variabili globali relative ai dispositivi già associati a driver varianti vfio-pci.

Il Runtime PM è stato introdotto nel commit 7ab5e10eda02 ("vfio/pci: Move the unused device into low power state with runtime PM"), che segna il punto in cui gli stati energetici sono diventati contati tramite refcount. Le operazioni di get e put del Power Management (PM) devono essere bilanciate, ma le stesse operazioni sul modulo sopra menzionate possono modificare le variabili globali relative a quei dispositivi già associati ai driver varianti vfio-pci. Ciò introduce una finestra in cui le operazioni PM potrebbero ora risultare sbilanciate.

Per risolvere il problema con un impatto minimo per i backport stabili, la flag disable_idle_d3 viene memorizzata (latch) nel vfio_pci_core_device al momento dell'inizializzazione, in modo che il dispositivo operi sempre con un valore coerente.

NB: vfio_pci_dev_set_try_reset() ora incrementa incondizionatamente il conteggio di utilizzo del runtime PM durante il reset del bus per tenere conto del fatto che disable_idle_d3 è diventato una flag per-device anziché globale. Quando questa flag è impostata, la coppia aggiuntiva get/put è innocua e consente l'uso continuato dell'utilità condivisa vfio_pci_dev_set_pm_runtime_get().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

25/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00180

KEV

no

Attività

molto basso

Fonti

Do you know our Splunk app?

Download it now for free!