CVE-2026-64496 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

iio: event: Correzione della race condition nel ripristino della coda degli eventi (event FIFO)

`iio_event_getfd()` crea il file descriptor per l'evento utilizzando `anon_inode_getfd()`, che alloca un nuovo fd, crea il file anonimo e lo installa nella tabella dei fd del processo prima di restituire il controllo al chiamante.

Il codice IIO ripristina la coda degli eventi (event FIFO) dopo il ritorno da `anon_inode_getfd()`, ma prima che `IIO_GET_EVENT_FD_IOCTL` abbia copiato il numero del fd nello spazio utente. Poiché le tabelle dei fd sono condivise tra i thread, un altro thread può indovinare il numero di fd appena allocato ed emettere una chiamata `read()` su di esso non appena il fd è stato installato.

Ciò significa che la funzione `kfifo_to_user()` in `iio_event_chrdev_read()` può essere eseguita in parallelo con `kfifo_reset_out()` in `iio_event_getfd()`.

La documentazione di kfifo specifica che `kfifo_reset_out()` è sicura solo quando viene chiamata dal thread lettore e vi è un unico lettore concorrente. In caso contrario, è pericolosa e deve essere gestita allo stesso modo di `kfifo_reset()`.

Se ciò accade, `kfifo_to_user()` può avanzare l'indice `out` della FIFO basandosi sullo stato precedente al ripristino, dopo che il ripristino ha già spostato l'indice `out` all'attuale indice `in`. Ciò può lasciare la FIFO con un indice `out` superiore all'indice `in`. Una successiva chiamata `read()` potrebbe quindi rilevare una lunghezza della FIFO sottofluita (underflowed) e copiare più dati di quanti ne contenga il buffer della coda degli eventi. Questo comportamento può provocare una lettura fuori dai limiti (out-of-bounds read) e la fuoriuscita di memoria kernel adiacente nello spazio utente.

Spostare il ripristino della FIFO prima di `anon_inode_getfd()`. A quel punto, l'event fd è contrassegnato come occupato, ma il nuovo fd non è ancora stato installato, quindi lo spazio utente non può accedervi mentre la FIFO viene ripristinata.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

25/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00220

KEV

no

Attività

molto basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!