CVE-2024-26976 in Linux
Riassunto
di VulDB • 24/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
KVM: svuotare sempre il workqueue asincrono per #PF quando una vCPU viene distrutta
Svuotare sempre il workqueue asincrono per #PF specifico di ogni vCPU quando una vCPU sta svuotando la propria coda di completamento, ad esempio durante la distruzione di una VM e di tutte le sue vCPU. KVM deve garantire che nessuna delle callback del suo workqueue sia in esecuzione quando viene rilasciata l'ultima referenza al _modulo_ KVM. Il trasferimento (gifting) di una referenza alla VM associata impedisce alla callback del workqueue di dereferenziare memoria della vCPU/VM già liberata, ma non evita che il modulo KVM venga disinstallato prima del completamento della callback.
Rimuovere l'erronea pratica di trasferimento delle referenze della VM: chiamare kvm_put_kvm() da async_pf_execute(), se kvm_put_kvm() svuota il workqueue asincrono per #PF, provocherà un deadlock (blocco reciproco). async_pf_execute() non può restituire finché kvm_put_kvm() non termina, e kvm_put_kvm() non può restituire finché async_pf_execute() non termina:
WARNING: CPU: 8 PID: 251 at virt/kvm/kvm_main.c:1435 kvm_put_kvm+0x2d/0x320 [kvm]
Modules linked in: vhost_net vhost vhost_iotlb tap kvm_intel kvm irqbypass CPU: 8 PID: 251 Comm: kworker/8:1 Tainted: G W 6
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.