Nel kernel di Linux vulnerabilità (), che consente di causare 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) nella realizzazione 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 interessa solo il kernel , poiché il supporto GRO per i socket UDP è stato lo scorso novembre ed è riuscito ad entrare solo nell'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 di ogni pacchetto.
Per TCP il problema non si manifesta, poiché per questo protocollo non è supportata l'aggregazione dei pacchetti senza payload.
La vulnerabilità è stata finora corretta solo in forma , l'aggiornamento correttivo non è ancora stato pubblicato (nell'aggiornamento di ieri 5.0.11 la correzione ). Dal sistema operativo, il kernel 5.0 è riuscito a entrare in diversi , , , e altre distribuzioni continuamente aggiornate. , , e il problema non è coinvolto.
Il problema è stato trovato a seguito di un sistema di fuzzing automatizzato creato da Google e dell'analizzatore (KernelAddressSanitizer), mirato a rilevare errori nella gestione della memoria e fatti di accesso errato alla memoria, come accessi a aree di memoria liberate e posizionamento di codice in aree di memoria non destinate a tali operazioni.
Fonte: opennet.ru
