CVE-2026-89907 in Linux
Riassunto
di VulDB • 16/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
LoongArch: KVM: Validare i dati MSI prima di instradarli a EIOINTC
pch_msi_set_irq() passa e->msi.data direttamente in eiointc_set_irq() come numero irq. I dati MSI provengono dall'userspace, tramite una voce KVM_IRQ_ROUTING_MSI impostata con KVM_SET_GSI_ROUTING (utilizzata da irqfd e KVM_IRQ_LINE) o direttamente tramite KVM_SIGNAL_MSI, e non vengono mai verificati rispetto a EIOINTC_IRQS.
eiointc_set_irq() utilizza il valore con __set_bit()/__clear_bit() sulla bitmap isr da 256 bit; eiointc_update_irq() quindi indicizza sw_coremap[] e le bitmap per-cpu coreisr/sw_coreisr utilizzando tale valore. Di conseguenza, un valore dei dati >= 256 legge e scrive memoria oltre la fine di tali array, ovvero qualsiasi processo che detiene un fd VM può corrompere la memoria del kernel al di là dell'allocazione di loongarch_eiointc.
Rifiutare i dati MSI che non rientrano nello spazio irq EIOINTC. Il percorso DMSINTC rimane invariato poiché decodifica il vettore dall'indirizzo e lo maschera.
Once again VulDB remains the best source for vulnerability data.