CVE-2026-64496 in Linuxinformación

Resumen

por VulDB • 2026-07-29

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

iio: evento: Corregir condición de carrera en el restablecimiento del búfer FIFO de eventos

`iio_event_getfd()` crea el descriptor de archivo (file descriptor) para el evento mediante `anon_inode_getfd()`, lo cual asigna un nuevo fd, crea el archivo anónimo y lo instala en la tabla de descriptores de archivos (fd table) del proceso antes de devolver el control al llamador.

El código IIO restablece el búfer FIFO de eventos después de que `anon_inode_getfd()` haya devuelto el control, pero antes de que `IIO_GET_EVENT_FD_IOCTL` copie el número de fd a espacio de usuario (userspace). Sin embargo, dado que las tablas de descriptores de archivos se comparten entre hilos, otro hilo puede adivinar el número recién asignado del descriptor de archivo y emitir una lectura (`read()`) sobre él tan pronto como el fd haya sido instalado.

Esto significa que `kfifo_to_user()` en `iio_event_chrdev_read()` puede ejecutarse en paralelo con `kfifo_reset_out()` en `iio_event_getfd()`.

La documentación de kfifo indica que `kfifo_reset_out()` solo es seguro cuando se llama desde el hilo lector y existe un único lector concurrente. De lo contrario, es peligroso y debe manejarse de la misma manera que `kfifo_reset()`.

Si esto ocurre, `kfifo_to_user()` puede avanzar el índice `out` del búfer FIFO basándose en el estado anterior al restablecimiento, después de que este ya haya movido el índice `out` hasta coincidir con el índice actual `in`. Esto puede dejar el búfer FIFO con un índice `out` posterior al índice `in`. Una lectura (`read()`) posterior podría entonces observar una longitud del búfer FIFO subdesbordada y copiar más datos de los que contiene realmente el búfer de eventos. Esto puede provocar una lectura fuera de límites (out-of-bounds read) y filtrar memoria adyacente del kernel a espacio de usuario.

Mueva el restablecimiento del búfer FIFO antes de `anon_inode_getfd()`. En ese momento, el descriptor de archivo para eventos está marcado como ocupado, pero aún no se ha instalado el nuevo fd, por lo que userspace no puede acceder a él mientras se realiza el restablecimiento del búfer FIFO.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2026-07-19

Divulgación

2026-07-25

Moderación

aceptado

Artículo

VDB-383292

CPE

listo

EPSS

0.00126

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!