CVE-2024-26812

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

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

Configuration 2 (hide)

cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*

History

18 Mar 2025, 17:04

Type Values Removed Values Added
CPE cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CWE CWE-476
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/0e09cf81959d9f12b75ad5c6dd53d237432ed034 - () https://git.kernel.org/stable/c/0e09cf81959d9f12b75ad5c6dd53d237432ed034 - Patch
References () https://git.kernel.org/stable/c/18c198c96a815c962adc2b9b77909eec0be7df4d - () https://git.kernel.org/stable/c/18c198c96a815c962adc2b9b77909eec0be7df4d - Patch
References () https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897 - () https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897 - Patch
References () https://git.kernel.org/stable/c/4c089cefe30924fbe20dd1ee92774ea1f5eca834 - () https://git.kernel.org/stable/c/4c089cefe30924fbe20dd1ee92774ea1f5eca834 - Patch
References () https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c - () https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c - Patch
References () https://git.kernel.org/stable/c/69276a555c740acfbff13fb5769ee9c92e1c828e - () https://git.kernel.org/stable/c/69276a555c740acfbff13fb5769ee9c92e1c828e - Patch
References () https://git.kernel.org/stable/c/7d29d4c72c1e196cce6969c98072a272d1a703b3 - () https://git.kernel.org/stable/c/7d29d4c72c1e196cce6969c98072a272d1a703b3 - Patch
References () https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899 - () https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899 - Patch
References () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html - () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html - Mailing List
First Time Debian
Linux linux Kernel
Linux
Debian debian Linux

21 Nov 2024, 09:03

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html -
References () https://git.kernel.org/stable/c/0e09cf81959d9f12b75ad5c6dd53d237432ed034 - () https://git.kernel.org/stable/c/0e09cf81959d9f12b75ad5c6dd53d237432ed034 -
References () https://git.kernel.org/stable/c/18c198c96a815c962adc2b9b77909eec0be7df4d - () https://git.kernel.org/stable/c/18c198c96a815c962adc2b9b77909eec0be7df4d -
References () https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897 - () https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897 -
References () https://git.kernel.org/stable/c/4c089cefe30924fbe20dd1ee92774ea1f5eca834 - () https://git.kernel.org/stable/c/4c089cefe30924fbe20dd1ee92774ea1f5eca834 -
References () https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c - () https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c -
References () https://git.kernel.org/stable/c/69276a555c740acfbff13fb5769ee9c92e1c828e - () https://git.kernel.org/stable/c/69276a555c740acfbff13fb5769ee9c92e1c828e -
References () https://git.kernel.org/stable/c/7d29d4c72c1e196cce6969c98072a272d1a703b3 - () https://git.kernel.org/stable/c/7d29d4c72c1e196cce6969c98072a272d1a703b3 -
References () https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899 - () https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899 -

05 Nov 2024, 10:15

Type Values Removed Values Added
References
  • {'url': 'https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html', 'source': '416baaa9-dc9f-4396-8d5f-8c081fb06d67'}

25 Jun 2024, 22:15

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html -

13 Apr 2024, 12:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/27d40bf72dd9a6600b76ad05859176ea9a1b4897 -
  • () https://git.kernel.org/stable/c/b18fa894d615c8527e15d96b76c7448800e13899 -

10 Apr 2024, 15:16

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/4cb0d7532126d23145329826c38054b4e9a05e7c -
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: vfio/pci: crear un controlador INTx persistente Existe una vulnerabilidad donde se puede desconfigurar el eventfd para la señalización INTx, lo que anula el registro del controlador IRQ pero aún permite que los eventfds se señalen con un contexto NULL a través de el SET_IRQS ioctl o mediante unmask irqfd si la interrupción del dispositivo está pendiente. Idealmente, esto podría solucionarse con algún bloqueo adicional; el igate mutex serializa los accesos al espacio ioctl y de configuración, y el controlador de interrupciones no está registrado en relación con el disparador, pero la ruta irqfd se ejecuta de forma asincrónica con respecto a ellos. El mutex igate no se puede adquirir desde el contexto atómico de la función de activación eventfd. Deshabilitar el irqfd en relación con el registro de eventfd es potencialmente incompatible con el espacio de usuario existente. Como resultado, la solución implementada aquí mueve la configuración del controlador de interrupciones INTx para rastrear la vida útil del objeto de contexto INTx y la configuración irq_type, en lugar del registro de un evento desencadenante particular. Se agrega sincronización entre la ruta ioctl y el contenedor eventfd_signal() de modo que el disparador eventfd se pueda actualizar dinámicamente en relación con las interrupciones en curso o las devoluciones de llamada irqfd.

05 Apr 2024, 09:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-04-05 09:15

Updated : 2025-03-18 17:04


NVD link : CVE-2024-26812

Mitre link : CVE-2024-26812

CVE.ORG link : CVE-2024-26812


JSON object : View

Products Affected

debian

  • debian_linux

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference