Bug 2517051 (CVE-2026-74473) - CVE-2026-74473 kernel: vxlan: use pskb_network_may_pull() in route_shortcircuit()
Summary: CVE-2026-74473 kernel: vxlan: use pskb_network_may_pull() in route_shortcircu...
Keywords:
Status: NEW
Alias: CVE-2026-74473
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-15 12:47 UTC by OSIDB Bzimport
Modified: 2026-08-19 17:42 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-15 12:47:11 UTC
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.

Comment 1 Mauro Matteo Cascella 2026-08-19 17:39:41 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026081535-CVE-2026-74473-9c71@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.