CVE-2026-80681: vxlan: re-fetch eth header after route_shortcircuit()
In the Linux kernel, the following vulnerability has been resolved:
vxlan: re-fetch eth header after routeshortcircuit()
Before routeshortcircuit(), the eth header pointer is cached from ethhdr(skb).
Inside routeshortcircuit(), pskbmaypull() can be called, which may reallocate skb->head.
In this case, returning to vxlanxmit() leaves the cached eth pointer pointing to freed memory, leading to a use-after-free when dereferencing eth->hdest.
Fix this by updating eth = ethhdr(skb) after calling routeshortcircuit().
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems running the Linux kernel with VXLAN traffic that reaches the affected vxlan_xmit() path are exposed. The issue is in VXLAN transmit handling, not a general use-after-free affecting all network traffic.
What condition triggers the use-after-free?
The condition requires route_shortcircuit() to call pskb_may_pull(), which can reallocate skb->head. After that reallocation, vxlan_xmit() may dereference a cached Ethernet-header pointer that refers to freed memory.
How can the issue be mitigated if an updated kernel cannot be deployed immediately?
The provided information supports limiting exposure by avoiding VXLAN use or VXLAN traffic that reaches the affected transmit path. The described fix is to re-fetch the Ethernet header after route_shortcircuit() returns.