CVE Catalog

CVE-2026-90082

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the net: mana driver's mana_gd_query_max_resources() sizes gc->num_msix_usable from resp.max_msix and the CPU count but never from the device MSI-X table. On a 1792 vCPU M-series VM this yields 1793 while the table has 1024 entries, causing an out-of-bounds access and a page fault.

Risk Assessment

A page fault and kernel crash may occur during driver initialization on virtual machines with a large number of vCPUs.

Recommendation

Update the Linux kernel to a version with the fix that caps num_msix_usable using pci_msix_vec_count().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: net: mana: Cap MSI-X vectors to the device MSI-X table size mana_gd_query_max_resources() sizes gc->num_msix_usable from resp.max_msix and the CPU count, but never from the device MSI-X table. On a 1792 vCPU M-series VM that yields 1793 while the table has 1024 entries, and mana_gd_setup_remaining_irqs() then walks indices 1..1792, running off the end of the region mapped by msix_map_region(): BUG: unable to handle page fault for address: ff8e347f8b99800c RIP: 0010:msix_prepare_msi_desc+0x7a/0x90 RAX: 0000000000004000 RBX: ff4330cb164ea780 RCX: ff8e347f8b998000 Call Trace: <TASK> __msi_domain_alloc_irqs+0x13a/0x440 msi_domain_alloc_irq_at+0x149/0x1b0 mana_gd_setup+0x351/0x890 mana_gd_probe+0x274/0x390 </TASK> RAX is index 1024 * PCI_MSIX_ENTRY_SIZE, one entry past the table. msi_insert_desc() does range check the index, but only against the MSI domain hwsize, which matches the table only for devices on an MSI parent domain. With a global PCI/MSI domain hwsize is MSI_XA_DOMAIN_SIZE, so nothing bounds the request. Cap num_msix_usable with pci_msix_vec_count().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS