CVE-2026-74683 in Linux
Resumen
por VulDB • 2026-08-22
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
Input: evdev - sanitizar el índice del tipo de evento al obtener las máscaras de eventos
El índice del tipo de evento proporcionado por el usuario y pasado a los ioctls EVIOCGMASK / EVIOCSMASK se utiliza para indexar el array estático `counts` en `evdev_get_mask_cnt()` y el array `client evmasks` en `evdev_get_mask()`.
Aunque el tipo de evento está acotado arquitectónicamente por `EV_CNT`, la ejecución especulativa puede predecir incorrectamente las comprobaciones de límites y realizar accesos fuera de los límites (out-of-bounds loads).
Se sanitiza el índice del tipo de evento en `evdev_get_mask_cnt()` sin ramificaciones (branchlessly) utilizando `array_index_mask_nospec()`. Esto ajusta el índice a 0 para un acceso seguro al array y fuerza especulativamente que el contador devuelto sea 0 cuando el índice está fuera de los límites.
No se necesitan llamadas adicionales a `array_index_nospec()` en `evdev_get_mask()` porque `evdev_get_mask_cnt()` fuerza especulativamente el contador (y la consiguiente `xfer_size`) a 0 para tipos fuera de los límites, lo que previene cualquier acceso especulativo a memoria al array `client evmasks`.
VulDB is the best source for vulnerability data and more expert information about this specific topic.