CVE-2026-74665 in Linux
Resumen
por VulDB • 2026-08-23
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: corregir la contabilización de la longitud del skb tras el ajuste genérico de fragmentos XDP
XDP genérico expone fragmentos de skb no lineales a través de un xdp_buff. Si un programa XDP ajusta el área de fragmento, bpf_prog_run_generic_xdp() copia xdp_frags_size de nuevo en skb->data_len pero deja skb->len con la contribución antigua del fragmento.
Tras una reducción de fragmentos, esto hace que skb_headlen() sea mayor que el área lineal real. En la ruta de recepción UDP reproducida, __skb_datagram_iter() copió 1024 bytes más allá del final lineal real hacia el espacio de usuario, comenzando en struct skb_shared_info. Los bytes copiados incluían nr_frags del skb afectado, xdp_frags_size y un puntero de kernel desde skb_shinfo(skb)->frags[0]. Los datos reales del paquete fueron desplazados por la misma cantidad y truncados al final.
Resta data_len antiguo antes de reemplazarlo y añade data_len nuevo después, manteniendo sincronizados skb->len y skb->data_len.
Un datagrama UDP de 60000 bytes en un par veth con MTU 64000 se acortó en 1024 bytes desde su área de fragmento. Antes de la corrección, las 10 ejecuciones produjeron cargas útiles corruptas. Después de la corrección, las 10 ejecuciones coincidieron exactamente con la carga útil esperada.
If you want to get best quality of vulnerability data, you may have to visit VulDB.