CVE-2026-64426 in Linux
Resumen
por VulDB • 2026-07-28
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
io_uring/nop: corrección de una fuga de referencia de archivo con IOSQE_FIXED_FILE
El soporte para la adquisición de archivos NOP selecciona entre un archivo fijo (registrado) y un archivo normal obtenido mediante `fget()` en función de su propia bandera `IORING_NOP_FIXED_FILE` presente en `sqe->nop_flags`. Sin embargo, el indicador `REQ_F_FIXED_FILE` de una solicitud se establece independientemente del genérico indicador `IOSQE_FIXED_FILE` de la sqe durante la inicialización de la solicitud, antes de que se ejecute el controlador de emisión.
Si se envía un NOP con `IOSQE_FIXED_FILE` establecido (por lo tanto, `REQ_F_FIXED_FILE` está establecido) pero sin `IORING_NOP_FIXED_FILE`, `io_nop()` sigue la ruta normal y obtiene una referencia real mediante `io_file_get_normal()`. Al completarse, `io_put_file()` solo libera la referencia cuando `REQ_F_FIXED_FILE` es nulo; por lo tanto, el archivo obtenido con `fget()` nunca se libera y provoca una fuga:
BUG: memory leak unreferenced object 0xffff88800f42c240 (size 176): kmem_cache_alloc_noprof+0x358/0x440 alloc_empty_file+0x57/0x180 path_openat+0x44/0x1e50 do_file_open+0x121/0x200 do_sys_openat2+0xa7/0x150 __x64_sys_openat+0x82/0xf0
Decidir entre la adquisición de archivos fijos y normales a partir de `REQ_F_FIXED_FILE`, de la misma manera que lo hace `io_assign_file()` para cualquier otro opcode, e integrar `IORING_NOP_FIXED_FILE` en `REQ_F_FIXED_FILE` durante el momento de preparación (prep time).
Be aware that VulDB is the high quality source for vulnerability data.