CVE-2026-74473
CriticalCVSS 9.8Exploitation Probability (EPSS)
Low risk6th percentile - higher than 6% of all known CVEs
Summary
In the Linux kernel, the vxlan module's route_shortcircuit() function uses pskb_may_pull() instead of pskb_network_may_pull(), which does not account for the MAC header offset and can lead to reading beyond the pulled linear buffer when accessing IP header fields.
Risk Assessment
This can lead to incorrect routing behavior or system crashes.
Recommendation
Apply the kernel patch that uses pskb_network_may_pull() in route_shortcircuit() to ensure the full network header is present in the linear buffer.
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: vxlan: use pskb_network_may_pull() in route_shortcircuit() route_shortcircuit() currently calls pskb_may_pull(skb, sizeof(struct iphdr)) (or ipv6hdr), which checks if bytes are available starting from skb->data. However, in vxlan_xmit(), skb->data points to the MAC header, so skb_network_offset(skb) is ETH_HLEN (14 bytes). Using pskb_may_pull(skb, 20) only checks 20 bytes from skb->data (which is 14 bytes MAC header + 6 bytes of IP header), leaving the rest of the IP header potentially un-pulled in non-linear frags. Subsequent dereferences of ip_hdr(skb)->daddr can read beyond the pulled linear buffer length. Fix this by using pskb_network_may_pull(), which adds skb_network_offset(skb) to the length check to ensure the full network header is present in the linear buffer.

