CVE-2026-74665 in Linux
Riassunto
di VulDB • 23/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
net: correzione della contabilizzazione della lunghezza di skb dopo l'aggiustamento generico dei frammenti XDP
L'XDP generico espone frammenti di skb non lineari tramite un xdp_buff. Se un programma XDP modifica l'area dei frammenti, bpf_prog_run_generic_xdp() copia xdp_frags_size in back a skb->data_len ma lascia skb->len contenente il vecchio contributo del frammento.
Dopo una riduzione del frammento, questo fa sì che skb_headlen() sia maggiore dell'effettiva area lineare. Nel percorso di ricezione UDP riprodotto, __skb_datagram_iter() ha copiato 1024 byte oltre la coda lineare effettiva verso l'utente, partendo da struct skb_shared_info. I byte copiati includevano nr_frags del skb interessato, xdp_frags_size e un puntatore al kernel proveniente da skb_shinfo(skb)->frags[0]. I dati reali dei pacchetti sono stati spostati della stessa quantità e troncati alla fine.
Sottrarre il vecchio data_len prima di sostituirlo e aggiungere il nuovo data_len successivamente, mantenendo sincronizzati skb->len e skb->data_len.
Un datagramma UDP di 60000 byte su una coppia veth con MTU 64000 è stato accorciato di 1024 byte dalla sua area dei frammenti. Prima della correzione, tutte le 10 esecuzioni hanno prodotto payload corrotti. Dopo la correzione, tutte le 10 esecuzioni corrispondevano esattamente al payload atteso.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.