Nel kernel di Linux vulnerabilità (), che consente di provocare un'interruzione del servizio inviando pacchetti UDP appositamente formattati (packet-of-death). Il problema è causato da un errore nel gestore udp_gro_receive_segment (net/ipv4/udp_offload.c) con implementazione della tecnologia GRO (Generic Receive Offload) e può portare a danneggiare il contenuto delle aree di memoria del kernel durante l'elaborazione di pacchetti UDP con riempimento nullo (payload vuoto).
Il problema riguarda solo il kernel , poiché il supporto per GRO per i socket UDP è stato a novembre dello scorso anno e ha raggiunto solo l'ultima versione stabile del kernel. La tecnologia GRO consente di accelerare l'elaborazione di un gran numero di pacchetti in arrivo, aggregando più pacchetti in blocchi più grandi che non richiedono un'elaborazione separata per ogni pacchetto.
Per TCP, il problema non si manifesta, poiché per questo protocollo non è supportata l'aggregazione dei pacchetti senza payload.
La vulnerabilità è stata corretta finora solo in forma , la patch correttiva non è ancora stata pubblicata (nell'aggiornamento di ieri 5.0.11 la correzione ). Nel distribuzione del kernel, 5.0 è riuscito a essere integrato in , , , e in altre distribuzioni continuamente aggiornate. , , e non sono interessate dal problema.
Il problema è stato trovato a seguito di di un sistema di testing automatizzato di fuzzing creato da Google e dell'analizzatore (KernelAddressSanitizer), mirato a rivelare errori nella gestione della memoria e casi di accesso non corretto alla memoria, come l'accesso a aree di memoria liberate e l'inserimento di codice in aree di memoria non destinate a tali manipolazioni.
Fonte: opennet.ru
