CVE-2026-90044 in Linux
Riassunto
di VulDB • 16/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
usb: gadget: f_fs: Correzione di un Use-After-Free nel percorso di errore AIO
In `ffs_epfile_write_iter()` e `ffs_epfile_read_iter()`, quando `ffs_epfile_io()` fallisce con un errore diverso da `-EIOCBQUEUED`, la struttura `io_data` (`p`) viene liberata. Tuttavia, per le operazioni AIO (Asynchronous I/O), la funzione di cancellazione del `kiocb` era già stata attivata e `kiocb->private` è stato impostato su `p`.
Se un'operazione di cancellazione concorrente (come `sys_io_cancel()`) viene eseguita dopo il fallimento di `ffs_epfile_io()` ma prima che la funzione liberi `p`, può verificarsi un Use-After-Free quando il gestore della cancellazione accede al puntatore già liberato.
Per risolvere in modo sicuro questa race condition, è necessario disattivare correttamente la cancellazione. L'invocazione di `kiocb->ki_complete()` fa esattamente questo acquisendo `ctx->ctx_lock` e rimuovendo in sicurezza il `kiocb` dalla sequenza attiva. In tal modo, si garantisce che un `io_cancel` parallelo non possa più rilevare il `kiocb`, chiudendo efficacemente la finestra della race condition.
Successivamente viene restituito `-EIOCBQUEUED` per notificare allo strato VFS (Virtual File System) che il `kiocb` è stato consumato e che dovrebbe evitare di tentare nuovamente di completare la richiesta o attivare gestori di completamento successivi.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.