vxlan: vnifilter: Fix unlocked deletion of default FDB entry
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.138, 6.6.90, 6.12.28, 6.14.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From f9c4bb0b245cee35ef66f75bf409c9573d934cf9 · fixed in 2d4a121296aa3940d2df9906f955c2b6b4e38bc3; From f9c4bb0b245cee35ef66f75bf409c9573d934cf9 · fixed in 3576e9a80b6c4381b01ce0cbaa07f5e92d4492ed; From f9c4bb0b245cee35ef66f75bf409c9573d934cf9 · fixed in 5cb9e07f84e527974b12e82e2549fa6c0cc6eef0; From f9c4bb0b245cee35ef66f75bf409c9573d934cf9 · fixed in 470206205588559e60035fceb5f256640cb45f99; From f9c4bb0b245cee35ef66f75bf409c9573d934cf9 · fixed in 087a9eb9e5978e3ba362e1163691e41097e8ca20
- Linux Linux
5.18
- KernelLinux
From 5.18.0 · fixed in 6.1.138; From 6.2.0 · fixed in 6.6.90; From 6.7.0 · fixed in 6.12.28; From 6.13.0 · fixed in 6.14.6