CVE-2024-26812

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
05/04/2024
Last modified:
18/03/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> vfio/pci: Create persistent INTx handler<br /> <br /> A vulnerability exists where the eventfd for INTx signaling can be<br /> deconfigured, which unregisters the IRQ handler but still allows<br /> eventfds to be signaled with a NULL context through the SET_IRQS ioctl<br /> or through unmask irqfd if the device interrupt is pending.<br /> <br /> Ideally this could be solved with some additional locking; the igate<br /> mutex serializes the ioctl and config space accesses, and the interrupt<br /> handler is unregistered relative to the trigger, but the irqfd path<br /> runs asynchronous to those. The igate mutex cannot be acquired from the<br /> atomic context of the eventfd wake function. Disabling the irqfd<br /> relative to the eventfd registration is potentially incompatible with<br /> existing userspace.<br /> <br /> As a result, the solution implemented here moves configuration of the<br /> INTx interrupt handler to track the lifetime of the INTx context object<br /> and irq_type configuration, rather than registration of a particular<br /> trigger eventfd. Synchronization is added between the ioctl path and<br /> eventfd_signal() wrapper such that the eventfd trigger can be<br /> dynamically updated relative to in-flight interrupts or irqfd callbacks.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.6 (including) 6.1.84 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.24 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.7.12 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.8 (including) 6.8.3 (excluding)
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*