CVE-2026-74684
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
22/08/2026
Última modificación:
22/08/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net: tap: set skb->dev before parsing virtio net header in tap_get_user_xdp()<br />
<br />
The commit 4f61f133f354 ("net: tap: NULL pointer derefence in<br />
dev_parse_header_protocol when skb->dev is null") fixed a crash in<br />
tap_get_user() by assigning skb->dev before calling tun_vnet_hdr_to_skb().<br />
This is required because virtio_net_hdr_to_skb() may invoke<br />
dev_parse_header_protocol(), which dereferences skb->dev. Without the<br />
assignment, a NULL pointer dereference can occur.<br />
<br />
However, tap_get_user_xdp() still parses the virtio-net header before<br />
assigning skb->dev. When the vhost TX path passes an XDP buffer containing<br />
a GSO virtio-net header but the protocol is set to zero on purpose,<br />
tun_vnet_hdr_to_skb() can reach dev_parse_header_protocol() while skb->dev<br />
is still NULL, resulting in a crash.<br />
<br />
Fix this by looking up the tap device and assigning skb->dev before calling<br />
tun_vnet_hdr_to_skb(), matching the ordering already used in<br />
tap_get_user(). Preserve the existing RCU read-side critical section across<br />
dev_queue_xmit().


