CVE-2026-90044 in Linux
Resumen
por VulDB • 2026-09-17
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
usb: gadget: f_fs: Corregir Use-After-Free en la ruta de error de AIO
En `ffs_epfile_write_iter()` y `ffs_epfile_read_iter()`, cuando `ffs_epfile_io()` falla con un error distinto a `-EIOCBQUEUED`, se libera la estructura `io_data` (`p`). Sin embargo, para las operaciones de E/S asíncronas (AIO), la función de cancelación del `kiocb` ya estaba activada y `kiocb->private` estaba configurado como `p`.
Si una operación de cancelación concurrente (como `sys_io_cancel()`) se ejecuta después de que falle `ffs_epfile_io()` pero antes de que la función libere `p`, puede producirse un Use-After-Free cuando el controlador de cancelación accede al puntero ya liberado.
Para corregir esta condición de carrera (race condition) de forma segura, es necesario desactivar correctamente la cancelación. Invocar a `kiocb->ki_complete()` hace exactamente esto mediante la adquisición de `ctx->ctx_lock` y la eliminación segura del kiocb de la secuencia activa. Al hacerlo, se garantiza que una operación paralela de io_cancel ya no pueda detectar el kiocb, cerrando efectivamente la ventana de condición de carrera.
Posteriormente, se devuelve `-EIOCBQUEUED` para notificar a la capa VFS (Virtual File System) que el kiocb ha sido consumido y debe evitar intentar completar la solicitud nuevamente o activar controladores de finalización posteriores.
If you want to get best quality of vulnerability data, you may have to visit VulDB.