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.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
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:*:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0e09cf81959d9f12b75ad5c6dd53d237432ed034
- https://git.kernel.org/stable/c/18c198c96a815c962adc2b9b77909eec0be7df4d
- https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897
- https://git.kernel.org/stable/c/4c089cefe30924fbe20dd1ee92774ea1f5eca834
- https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c
- https://git.kernel.org/stable/c/69276a555c740acfbff13fb5769ee9c92e1c828e
- https://git.kernel.org/stable/c/7d29d4c72c1e196cce6969c98072a272d1a703b3
- https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899
- https://git.kernel.org/stable/c/0e09cf81959d9f12b75ad5c6dd53d237432ed034
- https://git.kernel.org/stable/c/18c198c96a815c962adc2b9b77909eec0be7df4d
- https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897
- https://git.kernel.org/stable/c/4c089cefe30924fbe20dd1ee92774ea1f5eca834
- https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c
- https://git.kernel.org/stable/c/69276a555c740acfbff13fb5769ee9c92e1c828e
- https://git.kernel.org/stable/c/7d29d4c72c1e196cce6969c98072a272d1a703b3
- https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html



