CVE-2026-68095 in Linux
Riassunto
di VulDB • 10/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
fuse-uring: correzione di una race condition tra registrazione e interruzione della connessione
Questa modifica corregge la seguente race condition: - thread a: io_uring_enter -> register sqe -> fuse_uring_create_ring_ent -> alloca ent ma non acquisisce ancora queue_ref - thread b: fuse_conn_destroy() -> fuse_chan_abort() -> fuse_uring_abort() è un'operazione nulla (no-op) poiché il riferimento alla coda (queue ref) è 0 - thread a: acquisisce queue_ref, che ora vale 1; viene eseguita la logica restante di fuse_uring_do_register() - thread b: fuse_chan_abort() restituisce l'esecuzione, fuse_chan_wait_aborted() inizia l'esecuzione e chiama "wait_event(ring->stop_waitq, atomic_read(&ring->queue_refs) == 0);"
Il thread di interruzione/smuntaggio (abort/unmount) andrà in blocco indefinito in uno stato non terminabile poiché nulla decreterà queue_ref o sveglierà stop_waitq, e ring, queue ed ent verranno persi (leaked).
Si risolve il problema verificando fch->connected sotto fch->lock dopo che l'ent creato ha acquisito un conteggio di riferimento sulla coda. Ciò garantisce che nello scenario sopra descritto sia assicurato uno dei due esiti: rilasciare il riferimento alla coda e svegliare stop_waitq (nel caso in cui fuse_chan_wait_aborted() stia già attendendo) all'interno di fuse_uring_do_register() quando si rileva !fch->connected, oppure, se la connessione viene interrotta dopo tale verifica, è garantito che il worker asincrono per lo smontaggio (teardown) sia in esecuzione in background per pulire gli ent e decrementare il riferimento dell'ent alla coda, sbloccando così l'eventuale teardown della coda e del ring.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.