CVE-2026-46316

Critica9.3Pubblicata il 9 giugno 2026

Nel kernel Linux, la seguente vulnerabilità è stata risolta: KVM: arm64: vgic-its: Rilascia il riferimento della cache di traduzione solo per la voce cancellata vgic_its_invalidate_cache() scorre la cache di traduzione per-ITS con xa_for_each() e rilascia il riferimento della cache su ogni voce con vgic_put_irq(). Rilascia però il puntatore iterato, anziché il valore restituito da xa_erase(). La funzione è chiamata da contesti che non si escludono a vicenda: gli handler dei comandi ITS mantengono its_lock, il percorso di scrittura di GITS_CTLR mantiene cmd_lock, e il percorso che cancella EnableLPIs nel GICR_CTLR di un redistributor non mantiene nessuno dei due. Due o più di essi possono svuotare la stessa cache in concorrenza, e se ciascuno osserva la stessa voce, la cancella e poi la rilascia, il singolo riferimento che la cache detiene su quella voce viene rilasciato più di una volta. La voce può quindi essere liberata mentre un ITE la mappa ancora. xa_erase() è atomica e restituisce la voce precedente, quindi rilasciare solo la voce che questo contesto ha effettivamente rimosso. Il riferimento della cache viene quindi rilasciato esattamente una volta per voce anche quando le invalidazioni vengono eseguite in concorrenza, e il comportamento è invariato quando viene eseguito un solo contesto.

Punteggio CVSS9.3 / 10CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Tipo di debolezza (CWE)CWE-911
Vendorlinux

Prodotti coinvolti

VendorProdottoVersioni
linuxlinux kernel< 6.12.93

Articoli correlati

This product uses the NVD API but is not endorsed or certified by the NVD.

La descrizione tecnica è una nostra traduzione del testo originale NVD, in inglese.

Database CVE