CVE-2026-89907
Description
In the Linux kernel, the following vulnerability has been resolved: LoongArch: KVM: Validate MSI data before routing it to EIOINTC pch_msi_set_irq() passes e->msi.data straight into eiointc_set_irq() as the irq number. The MSI data comes from userspace, that either via a KVM_IRQ_ROUTING_MSI entry set with KVM_SET_GSI_ROUTING (used by irqfd and KVM_IRQ_LINE) or directly via KVM_SIGNAL_MSI, and is never checked against EIOINTC_IRQS. eiointc_set_irq() uses the value with __set_bit()/__clear_bit() on the 256-bit isr bitmap, eiointc_update_irq() then indexes sw_coremap[] and the per-cpu coreisr/sw_coreisr bitmaps with it. Therefore a data value >= 256 reads and writes memory past the end of those arrays, i.e. any process holding a VM fd can corrupt kernel memory beyond the allocation of loongarch_eiointc. Reject MSI data that doesn't fit in the EIOINTC irq space. The DMSINTC path is unaffected as it decodes the vector from the address and masks it.
How to fix
- Linux Linux506f03b5f869cbae50d31b50d80d4a5735d47f94, 83715a40a2d30d23719e0b25380ba82ff905195b, 501514d6ebd2111c353a1296f25dbe22fbd64657 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 1928254c5ccb7bdffd7f0334e1ce250e9ce4de94 ≤ v < 506f03b5f869cbae50d31b50d80d4a5735d47f94, 1928254c5ccb7bdffd7f0334e1ce250e9ce4de94 ≤ v < 83715a40a2d30d23719e0b25380ba82ff905195b, 1928254c5ccb7bdffd7f0334e1ce250e9ce4de94 ≤ v < 501514d6ebd2111c353a1296f25dbe22fbd64657, 6.13 | 506f03b5f869cbae50d31b50d80d4a5735d47f94, 83715a40a2d30d23719e0b25380ba82ff905195b, 501514d6ebd2111c353a1296f25dbe22fbd64657 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.