CVE Catalog

CVE-2024-27437

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.24%

14th percentile - higher than 14% of all known CVEs

Summary

In the Linux kernel's vfio/pci module, exclusive INTx IRQ is auto-enabled for devices requiring masking at the irqchip (those without DisINTx support). The IRQ is enabled in request_irq() and then disabled to match the masked status, creating a window where the interrupt can fire and increment the disable depth twice. This is unrecoverable for the user because the masked flag prevents nested enables through vfio. The fix inverts the logic using IRQF_NO_AUTOEN.

Risk Assessment

A user leveraging vfio with a PCI device lacking DisINTx support may cause an unrecoverable INTx IRQ lockup, resulting in device malfunction or virtual machine hang.

Recommendation

Update the Linux kernel to a version containing the fix that uses IRQF_NO_AUTOEN so exclusive INTx is never auto-enabled.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Disable auto-enable of exclusive INTx IRQ Currently for devices requiring masking at the irqchip for INTx, ie. devices without DisINTx support, the IRQ is enabled in request_irq() and subsequently disabled as necessary to align with the masked status flag. This presents a window where the interrupt could fire between these events, resulting in the IRQ incrementing the disable depth twice. This would be unrecoverable for a user since the masked flag prevents nested enables through vfio. Instead, invert the logic using IRQF_NO_AUTOEN such that exclusive INTx is never auto-enabled, then unmask as required.

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