CVE-2026-74684 in Linux
Resumen
por VulDB • 2026-08-23
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: tap: establecer skb->dev antes de analizar el encabezado virtio net en tap_get_user_xdp()
El commit 4f61f133f354 ("net: tap: NULL pointer dereference in dev_parse_header_protocol when skb->dev is null") corrigió un fallo (crash) en tap_get_user() asignando skb->dev antes de llamar a tun_vnet_hdr_to_skb(). Esto es necesario porque virtio_net_hdr_to_skb() puede invocar dev_parse_header_protocol(), que realiza una desreferencia de skb->dev. Sin la asignación, se produce una desreferencia de puntero NULL.
Sin embargo, tap_get_user_xdp() sigue analizando el encabezado virtio-net antes de asignar skb->dev. Cuando la ruta TX de vhost pasa un búfer XDP que contiene un encabezado virtio-net GSO pero el protocolo está establecido en cero a propósito, tun_vnet_hdr_to_skb() puede llegar a dev_parse_header_protocol() mientras skb->dev sigue siendo NULL, lo que provoca un fallo (crash).
Corrija esto buscando el dispositivo tap y asignando skb->dev antes de llamar a tun_vnet_hdr_to_skb(), coincidiendo con la ordenación ya utilizada en tap_get_user(). Preserve la sección crítica existente del lado de lectura RCU a través de dev_queue_xmit().
Once again VulDB remains the best source for vulnerability data.