CVE-2026-23459: ip_tunnel: adapt iptunnel_xmit_stats() to NETDEV_PCPU_STAT_DSTATS
In the Linux kernel, the following vulnerability has been resolved:
iptunnel: adapt iptunnelxmitstats() to NETDEVPCPUSTATDSTATS
Blamed commits forgot that vxlan/geneve use udptunnel[6]xmitskb() which call iptunnelxmitstats().
iptunnelxmitstats() was assuming tunnels were only using NETDEVPCPUSTATTSTATS.
@syncp offset in pcpuswnetstats and pcpudstats is different.
32bit kernels would either have corruptions or freezes if the syncp sequence was overwritten.
This patch also moves pcpustattype closer to dev->{t,d}stats to avoid a potential cache line miss since iptunnelxmitstats() needs to read it.
Affected Software
Event History
Frequently Asked Questions
Which systems are most likely to be affected?
The described corruption or freeze condition applies to 32-bit Linux kernels. The affected tunnel paths include VXLAN and Geneve, which use udp_tunnel[6]_xmit_skb() and ultimately call iptunnel_xmit_stats().
What traffic or configuration is needed to trigger the issue?
The issue is associated with tunnel transmit statistics when a tunnel uses NETDEV_PCPU_STAT_DSTATS rather than the NETDEV_PCPU_STAT_TSTATS format assumed by iptunnel_xmit_stats(). The supplied information identifies VXLAN and Geneve as using the relevant transmit path, but does not specify additional attacker prerequisites or a particular packet pattern.
What is the likely impact on an affected system?
On 32-bit kernels, overwriting the syncp sequence due to the differing statistics-structure offset can cause memory corruption or system freezes. The reported severity metrics indicate network-reachable exploitation with no privileges or user interaction required, with high availability impact and low integrity impact.