KernelScan.io

CRITICAL Introduced in 3.10

vxlan RouteShortcircuit UAF

CVE-2026-80681

CVSS 9.8 / 10.0 NVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

KernelScan AI8.1HIGH

01

In the Linux kernel, the following vulnerability has been resolved: vxlan: re-fetch eth header after route_shortcircuit() Before route_shortcircuit(), the eth header pointer is cached from eth_hdr(skb). Inside route_shortcircuit(), pskb_may_pull() can be called, which may reallocate skb->head. In this case, returning to vxlan_xmit() leaves the cached eth pointer pointing to freed memory, leading to a use-after-free when dereferencing eth->h_dest. Fix this by updating eth = eth_hdr(skb) after calling route_shortcircuit().

02

Engine v0.6.0

Risk summary

A use-after-free in the VXLAN driver's transmit path allows a local attacker to trigger kernel memory corruption by sending traffic through a VXLAN interface with L3 switching enabled. The stale pointer dereference can lead to information disclosure, arbitrary write, or kernel crashes. Any local user with access to send through a configured VXLAN interface can trigger this without elevated privileges.

Affecteddrivers/net/vxlan/vxlan_core.c (vxlan)

Vulnerability analysis

In the VXLAN transmit path, the code caches a pointer to the packet's Ethernet header before calling a routing shortcut function that may reallocate the underlying socket buffer. When reallocation occurs, the cached pointer becomes dangling, and the subsequent read of the destination MAC address accesses freed memory. The fix re-fetches the Ethernet header pointer after the routing function returns, ensuring it always references valid memory. This vulnerability is reachable by any local user who can send packets through a VXLAN interface with L3 switching enabled; the interface must first be configured by an administrator, but triggering the bug itself requires no special privileges.

03

BranchIntroducedFixed inPatch commit
5.103.105.10.2656375093eb45c
5.153.105.15.2161b7f7b653e35
6.13.106.1.183bf045341dfb3
6.123.106.12.1031511631b7cfc
6.183.106.18.441235e017aa11
6.63.106.6.1512355c8c26d2a
7.13.107.1.8c9dceac9e1c7
mainline3.107.21395a676ec15
cip/4.193.104.19.325-cip13645eff2b157b9
cip/4.19-rt3.104.19.325-cip136-rt5045eff2b157b9
cip/4.43.104.4.302-cip11538965c6c98cb
cip/4.4-rt3.104.4.302-cip115-rt6338965c6c98cb
cip/5.103.105.10.268-cip776375093eb45c
cip/5.10-rt3.105.10.268-cip77-rt346375093eb45c
cip/6.13.106.1.187-cip60bf045341dfb3
cip/6.1-rt3.106.1.189-cip61-rt32bf045341dfb3
cip/6.123.106.12.104-cip301511631b7cfc

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.104-cip30
cip/6.1Fixed in 6.1.187-cip60
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.268-cip77
cip/5.10-rtFixed in 5.10.268-cip77-rt34
cip/4.19Fixed in 4.19.325-cip136
cip/4.19-rtFixed in 4.19.325-cip136-rt50
cip/4.4Fixed in 4.4.302-cip115
cip/4.4-rtFixed in 4.4.302-cip115-rt63