CVE-2025-37921

vxlan: vnifilter: Fix unlocked deletion of default FDB entry

State
Published
Severity
7.8 High
Published
May 20, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

vxlan: vnifilter: Fix unlocked deletion of default FDB entry

When a VNI is deleted from a VXLAN device in 'vnifilter' mode, the FDB entry associated with the default remote (assuming one was configured) is deleted without holding the hash lock. This is wrong and will result in a warning [1] being generated by the lockdep annotation that was added by commit ebe642067455 ("vxlan: Create wrappers for FDB lookup").

Reproducer:

# ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1 # bridge vni add vni 10010 remote 198.51.100.1 dev vx0 # bridge vni del vni 10010 dev vx0

Fix by acquiring the hash lock before the deletion and releasing it afterwards. Blame the original commit that introduced the issue rather than the one that exposed it.

[1] WARNING: CPU: 3 PID: 392 at drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0 [...] RIP: 0010:vxlan_find_mac+0x17f/0x1a0 [...] Call Trace: <TASK> __vxlan_fdb_delete+0xbe/0x560 vxlan_vni_delete_group+0x2ba/0x940 vxlan_vni_del.isra.0+0x15f/0x580 vxlan_process_vni_filter+0x38b/0x7b0 vxlan_vnifilter_process+0x3bb/0x510 rtnetlink_rcv_msg+0x2f7/0xb70 netlink_rcv_skb+0x131/0x360 netlink_unicast+0x426/0x710 netlink_sendmsg+0x75a/0xc20 __sock_sendmsg+0xc1/0x150 ____sys_sendmsg+0x5aa/0x7b0 ___sys_sendmsg+0xfc/0x180 __sys_sendmsg+0x121/0x1b0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x4b/0x53

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • f9c4bb0b245cee35ef66f75bf409c9573d934cf9 to before 2d4a121296aa3940d2df9906f955c2b6b4e38bc3Affected
  • f9c4bb0b245cee35ef66f75bf409c9573d934cf9 to before 3576e9a80b6c4381b01ce0cbaa07f5e92d4492edAffected
  • f9c4bb0b245cee35ef66f75bf409c9573d934cf9 to before 5cb9e07f84e527974b12e82e2549fa6c0cc6eef0Affected
  • f9c4bb0b245cee35ef66f75bf409c9573d934cf9 to before 470206205588559e60035fceb5f256640cb45f99Affected
  • f9c4bb0b245cee35ef66f75bf409c9573d934cf9 to before 087a9eb9e5978e3ba362e1163691e41097e8ca20Affected
LinuxLinux
  • 5.18Affected
  • before 5.18Not affected
  • 6.1.138 through 6.1.*Not affected
  • 6.6.90 through 6.6.*Not affected
  • 6.12.28 through 6.12.*Not affected
  • 6.14.6 through 6.14.*Not affected
  • 6.15 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.