Skip to main content
← All vulnerabilities
CVE-2026-74473

vxlan: use pskb_network_may_pull() in route_shortcircuit()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.265, 5.15.216, 6.1.183, 6.6.151, 6.12.103, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From e4f67addf158f98f8197e08974966b18480dc751 · fixed in c419af4924c1593500a40519730ed98575d04a3e; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 6bd0a3a1b5744166946f0c551a6665c3b46b05e4; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 214ba43faf106cb06cd3dd30999c5c809c868b53; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 42887be7c4cf283cce02cd0fb6411221167c8b6c; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in aa0d31376d574ac858a40078431a77127bf04ee4; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in ee799977d7941dbfb11049e17edd9eaf4f8820f7; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 4f3f96e771a20263635bb5e1307c112d613b4bbd; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 26bb2dd0a8839617e2c79ffbbe1923f8e4bab9fb

  • Linux Linux

    3.8

  • KernelLinux

    From 3.8.0 · fixed in 5.10.265; From 5.11.0 · fixed in 5.15.216; From 5.16.0 · fixed in 6.1.183; From 6.2.0 · fixed in 6.6.151; From 6.7.0 · fixed in 6.12.103; From 6.13.0 · fixed in 6.18.44; From 6.19.0 · fixed in 7.1.8

References 8

git.kernel.org