KernelScan.io

HIGH Introduced in 6.7

vxlan FdbFlush UAF

CVE-2026-80838

CVSS 7.0 / 10.0 KernelScan AI

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

01

In the Linux kernel, the following vulnerability has been resolved: vxlan: keep the last remote linked during FDB flush A non-nexthop FDB entry is expected to have at least one remote while it remains reachable through the FDB hash table. A filtered bulk flush violates this invariant when every remote matches: It unlinks the last remote in vxlan_fdb_dst_destroy() and only afterwards tells vxlan_flush() to destroy the parent FDB entry. An RCU reader can find the parent during this interval. first_remote_rcu() then applies list_entry_rcu() to the empty list head, producing an invalid remote pointer that the receive learning path can read from and write to. When a matching remote is the sole remaining remote, leave it linked and ask the caller to destroy the entire FDB entry. vxlan_fdb_destroy() keeps the remote attached while sending the deletion notification and removing the parent from the lookup structures.

02

Engine v0.6.0

Risk summary

A race condition in the VXLAN FDB flush path can leave a forwarding database entry with no remotes while it is still reachable via the hash table, allowing an RCU reader to obtain an invalid remote pointer and read or write through it. An attacker with local network configuration privileges (CAP_NET_ADMIN, obtainable in a user namespace) can trigger this via a filtered FDB flush, potentially leading to kernel memory corruption.

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

Vulnerability analysis

During a filtered bulk flush of VXLAN forwarding database entries, the code unlinks the last remaining remote from an FDB entry before scheduling the parent entry for destruction. In the interval between unlinking the remote and removing the parent from the hash table, an RCU reader can still find the parent entry and dereference its now-empty remote list, producing an invalid pointer that the receive learning path can read from and write to. The fix keeps the last remote linked when it is the sole remaining one and instead asks the caller to destroy the entire FDB entry, so the parent is never visible in the hash table with an empty remote list. The vulnerable path is reachable from a local process that can configure VXLAN FDB entries, which requires CAP_NET_ADMIN obtainable in a user namespace.

03

BranchIntroducedFixed inPatch commit
6.126.76.12.1082a7c2f008432
6.186.76.18.49a8820c8a7718
7.16.77.1.138ba68fd6cdd1
7.26.77.2.34bbc76ee1b21
mainline6.77.3d5d4a7b538b5
cip/6.126.76.12.108-cip312a7c2f008432

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.108-cip31