CVE-2026-80896 in Linuxinformación

Resumen

por VulDB • 2026-09-04

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

mshv: Corregir una condición de carrera (race condition) en mshv_irqfd_deassign

Las funciones `mshv_irqfd_deactivate()` y la iteración sobre la lista hlist (`pt_irqfds_list`) requieren que se mantenga el bloqueo `pt->pt_irqfds_lock`, pero `mshv_irqfd_deassign()` lo omite. Esto genera una condición de carrera con la ruta EPOLLHUP en `mshv_irqfd_wakeup()`, la cual sí adquiere el bloqueo antes de llamar a `mshv_irqfd_deactivate()`.

Además, `mshv_irqfd_deactivate()` utiliza `hlist_del()`, lo que corrompe (poisons) los punteros del nodo en lugar de restablecerlos. Dado que `mshv_irqfd_is_active()` depende de `hlist_unhashed()` (que verifica si pprev == NULL), un nodo corrupto sigue apareciendo como activo. Si una ruta concurrente llama nuevamente a `mshv_irqfd_deactivate()` sobre el mismo irqfd, la protección falla al no prevenir una doble llamada a hlist_del() sobre punteros corrompidos.

Se corrigen ambos problemas: - Añadir los fallos de bloqueo (`spin_lock_irq`/`spin_unlock_irq`) faltantes alrededor de la iteración de la lista en `mshv_irqfd_deassign()`, coincidiendo con el comportamiento de `mshv_irqfd_release()`. - Utilizar `hlist_del_init()` en lugar de `hlist_del()` para que el nodo se marque correctamente como no hashado tras su eliminación, haciendo fiable la protección is_active.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-09-04

Moderación

aceptado

Artículo

VDB-399093

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!