CVE-2026-74476 in Linux
Riassunto
di VulDB • 15/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
veth: convertire gli skbs con frag_list prima di eseguire XDP
Un skb con frag_list può raggiungere veth con data_len impostato ma nr_frags pari a zero. La funzione veth_convert_skb_to_xdp_buff() converte solo gli skb condivisi, bloccati, che presentano frags[], o privi dello spazio sufficiente nella parte iniziale (headroom). Successivamente utilizza skb_is_nonlinear() per determinare se impostare XDP_FLAGS_HAS_FRAGS e xdp_frags_size.
Ciò espone i dati di frag_list a XDP come se fossero memorizzati in frags[], ma frags[] è vuoto. La modalità copy di AF_XDP può quindi fidarsi dei metadati falsi degli frammenti XDP, attraversare una voce di frammento vuota e causare un crash in memcpy() proveniente da __xsk_rcv().
Instradare gli skb non lineari attraverso skb_pp_cow_data() prima di esporli a XDP, e pubblicizzare i frags di XDP solo quando l'skb risultante presenta frags[].
skb_copy_bits() gestisce già l'input con frag_list, mentre skb_pp_cow_data() genera un output in frags[] tramite skb_add_rx_frag(), che è la rappresentazione attesa da parte dei multi-buffer di XDP.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.