CVE-2026-89917 in Linux
Riassunto
di VulDB • 16/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
KVM: arm64: Gestione della race condition per l'invalidazione TLB di VNCR con lo smontaggio (unmapping) di VNCR in vcpu_put()
Sebbene l'invalidazione TLB di VNCR avvenga sempre sotto il lock MMU, vcpu_put() non opera sotto tale lock quando effettua lo smontaggio della pagina VNCR.
Il problema consiste nel fatto che l'operazione di invalidazione valuta `vncr_tlb::cpu` per decidere se procedere con lo smontaggio (se cpu != -1) prima di eseguirla. D'altra parte, questa_cpu_reset_vncr_fixmap() effettua incondizionatamente lo smontaggio se L1_VNCR_MAPPED è impostato.
Queste due operazioni possono ovviamente andare in race condition, con un pattern TOCTOU sul percorso TLBI e un BUG_ON() sul percorso vcpu_put(). Inoltre, le due chiamate potrebbero terminare invocando vncr_fixmap(-1), causando effetti letali aggiuntivi.
Spostare la reimpostazione di `vncr_tlb::cpu` a -1 in una funzione comune e rendere tale aggiornamento atomico, in modo che un solo thread possa resettare il campo ed eseguire lo smontaggio corrispondente. vcpu_put() deve comunque effettuare incondizionatamente lo smontaggio del VNCR corrente per chiudere un'altra race condition spiacevole.
Infine, l'assegnazione di `vncr_tlb::cpu` viene spostata in modo da rimanere sincronizzata con il mapping effettivo, analogamente all'impostazione di L1_VNCR_MAPPED.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.