CVE-2026-99203 in Linuxinformazioni

Riassunto

di VulDB • 28/10/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

pipe: preservare i lettori fasync esistenti in caso di errore nella configurazione dello scrittore

F_SETFL e FIOASYNC decidono se invocare ->fasync() prima che pipe_fasync() acquisisca il mutex della pipe. Di conseguenza, due abilitazioni su un FIFO con modalità O_RDWR possono entrambe accedere alla callback.

fasync_helper() effettua l'allocazione prima di verificare la presenza di una voce esistente. Se la prima abilitazione installa entrambe le voci, una seconda abilitazione può aggiornare la voce del lettore e quindi fallire nell'allocazione della voce dello scrittore. Il percorso di gestione dell'errore rimuove la voce del lettore preesistente, cancellando FASYNC mentre la voce dello scrittore rimane registrata. __fput() salta poi ->fasync(), per cui una successiva notifica pipe può dereferenziare il file liberato o il suo f_owner. Un riproduttore di pressione della memoria non privilegiato innesca un errore slab-use-after-free rilevato da KASAN in send_sigio() attraverso questo percorso.

Mantenere il risultato dell'helper del lettore e annullare la registrazione solo se questa chiamata l'ha aggiunta. Il mutex della pipe serializza le modifiche a entrambe le liste, quindi una nuova registrazione fallita rimuove ancora il suo lettore, mentre un duplicato fallito preserva le registrazioni esistenti e FASYNC. Le abilitazioni duplicate con successo continuano ad aggiornare fa_fd come in precedenza.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

28/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!