CVE-2026-74476 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
veth: convertir los skbs con frag_list antes de ejecutar XDP
Un skb con frag_list puede llegar a veth con data_len establecido pero nr_frags igual a cero. veth_convert_skb_to_xdp_buff() solo convierte los skbs que están compartidos, bloqueados, tienen frags[], o no disponen del espacio suficiente en el encabezado (headroom). Posteriormente utiliza skb_is_nonlinear() para decidir si establecer XDP_FLAGS_HAS_FRAGS y xdp_frags_size.
Esto expone los datos de frag_list a XDP como si estuvieran almacenados en frags[], pero frags[] está vacío. El modo de copia AF_XDP puede entonces confiar en los metadatos falsos del fragmento XDP, recorrer una entrada de fragmento vacía y provocar un fallo (crash) en memcpy() desde __xsk_rcv().
Enrutar los skbs no lineales a través de skb_pp_cow_data() antes de exponerlos a XDP, y anunciar solo frags para XDP cuando el skb resultante tenga frags[].
skb_copy_bits() ya maneja la entrada con frag_list, y skb_pp_cow_data() genera una salida con frags[] mediante skb_add_rx_frag(), que es la representación que espera XDP multi-buffer.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.