Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2024-26812)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476 Desreferencia a puntero nulo (NULL)
Fecha de publicación:
05/04/2024
Última modificación:
18/03/2025

Descripción

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.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.6 (incluyendo) 6.1.84 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.24 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.7.12 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.8 (incluyendo) 6.8.3 (excluyendo)
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*