CVE-2021-47247: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix use-after-free of encap entry in neigh update handler Function mlx5e_rep_neigh_update() wasn't updated to accommodate rtnl lock removal from TC filter update path and properly handle concurrent encap entry insertion/deletion which can lead to following use-after-free: [23827.464923] ================================================================== [23827.469446] BUG: KASAN: use-after-free in mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.470971] Read of size 4 at addr ffff8881d132228c by task kworker/u20:6/21635 [23827.472251] [23827.472615] CPU: 9 PID: 21635 Comm: kworker/u20:6 Not tainted 5.13.0-rc3+ #5 [23827.473788] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 [23827.475639] Workqueue: mlx5e mlx5e_rep_neigh_update [mlx5_core] [23827.476731] Call Trace: [23827.477260] dump_stack+0xbb/0x107 [23827.477906] print_address_description.constprop.0+0x18/0x140 [23827.478896] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.479879] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.480905] kasan_report.cold+0x7c/0xd8 [23827.481701] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.482744] kasan_check_range+0x145/0x1a0 [23827.493112] mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.494054] ? mlx5e_tc_tun_encap_info_equal_generic+0x140/0x140 [mlx5_core] [23827.495296] mlx5e_rep_neigh_update+0x41e/0x5e0 [mlx5_core] [23827.496338] ? mlx5e_rep_neigh_entry_release+0xb80/0xb80 [mlx5_core] [23827.497486] ? read_word_at_a_time+0xe/0x20 [23827.498250] ? strscpy+0xa0/0x2a0 [23827.498889] process_one_work+0x8ac/0x14e0 [23827.499638] ? lockdep_hardirqs_on_prepare+0x400/0x400 [23827.500537] ? pwq_dec_nr_in_flight+0x2c0/0x2c0 [23827.501359] ? rwlock_bug.part.0+0x90/0x90 [23827.502116] worker_thread+0x53b/0x1220 [23827.502831] ? process_one_work+0x14e0/0x14e0 [23827.503627] kthread+0x328/0x3f0 [23827.504254] ? _raw_spin_unlock_irq+0x24/0x40 [23827.505065] ? __kthread_bind_mask+0x90/0x90 [23827.505912] ret_from_fork+0x1f/0x30 [23827.506621] [23827.506987] Allocated by task 28248: [23827.507694] kasan_save_stack+0x1b/0x40 [23827.508476] __kasan_kmalloc+0x7c/0x90 [23827.509197] mlx5e_attach_encap+0xde1/0x1d40 [mlx5_core] [23827.510194] mlx5e_tc_add_fdb_flow+0x397/0xc40 [mlx5_core] [23827.511218] __mlx5e_add_fdb_flow+0x519/0xb30 [mlx5_core] [23827.512234] mlx5e_configure_flower+0x191c/0x4870 [mlx5_core] [23827.513298] tc_setup_cb_add+0x1d5/0x420 [23827.514023] fl_hw_replace_filter+0x382/0x6a0 [cls_flower] [23827.514975] fl_change+0x2ceb/0x4a51 [cls_flower] [23827.515821] tc_new_tfilter+0x89a/0x2070 [23827.516548] rtnetlink_rcv_msg+0x644/0x8c0 [23827.517300] netlink_rcv_skb+0x11d/0x340 [23827.518021] netlink_unicast+0x42b/0x700 [23827.518742] netlink_sendmsg+0x743/0xc20 [23827.519467] sock_sendmsg+0xb2/0xe0 [23827.520131] ____sys_sendmsg+0x590/0x770 [23827.520851] ___sys_sendmsg+0xd8/0x160 [23827.521552] __sys_sendmsg+0xb7/0x140 [23827.522238] do_syscall_64+0x3a/0x70 [23827.522907] entry_SYSCALL_64_after_hwframe+0x44/0xae [23827.523797] [23827.524163] Freed by task 25948: [23827.524780] kasan_save_stack+0x1b/0x40 [23827.525488] kasan_set_track+0x1c/0x30 [23827.526187] kasan_set_free_info+0x20/0x30 [23827.526968] __kasan_slab_free+0xed/0x130 [23827.527709] slab_free_freelist_hook+0xcf/0x1d0 [23827.528528] kmem_cache_free_bulk+0x33a/0x6e0 [23827.529317] kfree_rcu_work+0x55f/0xb70 [23827.530024] process_one_work+0x8ac/0x14e0 [23827.530770] worker_thread+0x53b/0x1220 [23827.531480] kthread+0x328/0x3f0 [23827.532114] ret_from_fork+0x1f/0x30 [23827.532785] [23827.533147] Last potentially related work creation: [23827.534007] kasan_save_stack+0x1b/0x40 [23827.534710] kasan_record_aux_stack+0xab/0xc0 [23827.535492] kvfree_call_rcu+0x31/0x7b0 [23827.536206] mlx5e_tc_del ---truncated---
AI Analysis
Technical Summary
CVE-2021-47247 is a use-after-free vulnerability identified in the Linux kernel's mlx5e driver, which is part of the Mellanox network driver stack (mlx5_core). The flaw exists in the function mlx5e_rep_neigh_update(), which handles neighbor updates related to encapsulation entries in the network stack. The vulnerability arises because this function was not updated to accommodate the removal of the rtnl lock from the traffic control (TC) filter update path. This omission leads to improper handling of concurrent insertion and deletion of encapsulation entries, resulting in a use-after-free condition. The kernel's Kernel Address Sanitizer (KASAN) detected this issue, showing that the driver attempts to access memory that has already been freed, causing potential memory corruption. The stack trace indicates that the issue occurs during workqueue processing related to network flow configuration and encapsulation management. Exploiting this vulnerability could allow an attacker with the ability to trigger TC filter updates or neighbor updates to cause a kernel crash (denial of service) or potentially execute arbitrary code in kernel space due to memory corruption. The vulnerability affects Linux kernel versions containing the mlx5e driver with the specified commit hashes, and it has been publicly disclosed without known exploits in the wild. No CVSS score has been assigned yet. The vulnerability is technical and specific to the Mellanox network driver used in Linux environments, particularly those utilizing advanced networking features such as tunneling and traffic control filters.
Potential Impact
For European organizations, the impact of CVE-2021-47247 can be significant, especially for enterprises and data centers relying on Linux servers with Mellanox network adapters or virtualized environments using mlx5e drivers. The vulnerability could lead to kernel crashes, causing service interruptions and potential denial of service in critical infrastructure, cloud services, and enterprise networks. In worst-case scenarios, if exploited for arbitrary code execution, attackers could gain elevated privileges, compromising system confidentiality and integrity. This risk is heightened in environments where network traffic control and encapsulation are heavily used, such as telecom operators, cloud providers, and financial institutions. The disruption of network services could affect business continuity and data security, leading to regulatory compliance issues under GDPR if personal data is impacted. However, exploitation requires local or network-level access to trigger specific kernel operations, limiting remote exploitation likelihood without prior access.
Mitigation Recommendations
European organizations should prioritize updating their Linux kernels to versions where this vulnerability is patched, as the fix involves correcting concurrency handling in the mlx5e driver. Specifically, they should: 1) Identify systems running affected Linux kernel versions with Mellanox mlx5e drivers, especially those using advanced networking features like TC filters and encapsulation. 2) Apply vendor-provided kernel patches or upgrade to the latest stable kernel releases that include the fix for CVE-2021-47247. 3) In virtualized or containerized environments, ensure host and guest kernels are updated to prevent cross-VM or container escape via this vulnerability. 4) Restrict access to systems capable of triggering TC filter updates to trusted administrators only, minimizing attack surface. 5) Monitor kernel logs for KASAN or mlx5e-related errors that may indicate exploitation attempts or instability. 6) Employ network segmentation and strict access controls to limit exposure of vulnerable systems. 7) Coordinate with hardware vendors for firmware updates or advisories related to Mellanox adapters. These steps go beyond generic patching by focusing on identifying affected network driver usage and controlling access to sensitive kernel operations.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain
CVE-2021-47247: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix use-after-free of encap entry in neigh update handler Function mlx5e_rep_neigh_update() wasn't updated to accommodate rtnl lock removal from TC filter update path and properly handle concurrent encap entry insertion/deletion which can lead to following use-after-free: [23827.464923] ================================================================== [23827.469446] BUG: KASAN: use-after-free in mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.470971] Read of size 4 at addr ffff8881d132228c by task kworker/u20:6/21635 [23827.472251] [23827.472615] CPU: 9 PID: 21635 Comm: kworker/u20:6 Not tainted 5.13.0-rc3+ #5 [23827.473788] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 [23827.475639] Workqueue: mlx5e mlx5e_rep_neigh_update [mlx5_core] [23827.476731] Call Trace: [23827.477260] dump_stack+0xbb/0x107 [23827.477906] print_address_description.constprop.0+0x18/0x140 [23827.478896] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.479879] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.480905] kasan_report.cold+0x7c/0xd8 [23827.481701] ? mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.482744] kasan_check_range+0x145/0x1a0 [23827.493112] mlx5e_encap_take+0x72/0x140 [mlx5_core] [23827.494054] ? mlx5e_tc_tun_encap_info_equal_generic+0x140/0x140 [mlx5_core] [23827.495296] mlx5e_rep_neigh_update+0x41e/0x5e0 [mlx5_core] [23827.496338] ? mlx5e_rep_neigh_entry_release+0xb80/0xb80 [mlx5_core] [23827.497486] ? read_word_at_a_time+0xe/0x20 [23827.498250] ? strscpy+0xa0/0x2a0 [23827.498889] process_one_work+0x8ac/0x14e0 [23827.499638] ? lockdep_hardirqs_on_prepare+0x400/0x400 [23827.500537] ? pwq_dec_nr_in_flight+0x2c0/0x2c0 [23827.501359] ? rwlock_bug.part.0+0x90/0x90 [23827.502116] worker_thread+0x53b/0x1220 [23827.502831] ? process_one_work+0x14e0/0x14e0 [23827.503627] kthread+0x328/0x3f0 [23827.504254] ? _raw_spin_unlock_irq+0x24/0x40 [23827.505065] ? __kthread_bind_mask+0x90/0x90 [23827.505912] ret_from_fork+0x1f/0x30 [23827.506621] [23827.506987] Allocated by task 28248: [23827.507694] kasan_save_stack+0x1b/0x40 [23827.508476] __kasan_kmalloc+0x7c/0x90 [23827.509197] mlx5e_attach_encap+0xde1/0x1d40 [mlx5_core] [23827.510194] mlx5e_tc_add_fdb_flow+0x397/0xc40 [mlx5_core] [23827.511218] __mlx5e_add_fdb_flow+0x519/0xb30 [mlx5_core] [23827.512234] mlx5e_configure_flower+0x191c/0x4870 [mlx5_core] [23827.513298] tc_setup_cb_add+0x1d5/0x420 [23827.514023] fl_hw_replace_filter+0x382/0x6a0 [cls_flower] [23827.514975] fl_change+0x2ceb/0x4a51 [cls_flower] [23827.515821] tc_new_tfilter+0x89a/0x2070 [23827.516548] rtnetlink_rcv_msg+0x644/0x8c0 [23827.517300] netlink_rcv_skb+0x11d/0x340 [23827.518021] netlink_unicast+0x42b/0x700 [23827.518742] netlink_sendmsg+0x743/0xc20 [23827.519467] sock_sendmsg+0xb2/0xe0 [23827.520131] ____sys_sendmsg+0x590/0x770 [23827.520851] ___sys_sendmsg+0xd8/0x160 [23827.521552] __sys_sendmsg+0xb7/0x140 [23827.522238] do_syscall_64+0x3a/0x70 [23827.522907] entry_SYSCALL_64_after_hwframe+0x44/0xae [23827.523797] [23827.524163] Freed by task 25948: [23827.524780] kasan_save_stack+0x1b/0x40 [23827.525488] kasan_set_track+0x1c/0x30 [23827.526187] kasan_set_free_info+0x20/0x30 [23827.526968] __kasan_slab_free+0xed/0x130 [23827.527709] slab_free_freelist_hook+0xcf/0x1d0 [23827.528528] kmem_cache_free_bulk+0x33a/0x6e0 [23827.529317] kfree_rcu_work+0x55f/0xb70 [23827.530024] process_one_work+0x8ac/0x14e0 [23827.530770] worker_thread+0x53b/0x1220 [23827.531480] kthread+0x328/0x3f0 [23827.532114] ret_from_fork+0x1f/0x30 [23827.532785] [23827.533147] Last potentially related work creation: [23827.534007] kasan_save_stack+0x1b/0x40 [23827.534710] kasan_record_aux_stack+0xab/0xc0 [23827.535492] kvfree_call_rcu+0x31/0x7b0 [23827.536206] mlx5e_tc_del ---truncated---
AI-Powered Analysis
Technical Analysis
CVE-2021-47247 is a use-after-free vulnerability identified in the Linux kernel's mlx5e driver, which is part of the Mellanox network driver stack (mlx5_core). The flaw exists in the function mlx5e_rep_neigh_update(), which handles neighbor updates related to encapsulation entries in the network stack. The vulnerability arises because this function was not updated to accommodate the removal of the rtnl lock from the traffic control (TC) filter update path. This omission leads to improper handling of concurrent insertion and deletion of encapsulation entries, resulting in a use-after-free condition. The kernel's Kernel Address Sanitizer (KASAN) detected this issue, showing that the driver attempts to access memory that has already been freed, causing potential memory corruption. The stack trace indicates that the issue occurs during workqueue processing related to network flow configuration and encapsulation management. Exploiting this vulnerability could allow an attacker with the ability to trigger TC filter updates or neighbor updates to cause a kernel crash (denial of service) or potentially execute arbitrary code in kernel space due to memory corruption. The vulnerability affects Linux kernel versions containing the mlx5e driver with the specified commit hashes, and it has been publicly disclosed without known exploits in the wild. No CVSS score has been assigned yet. The vulnerability is technical and specific to the Mellanox network driver used in Linux environments, particularly those utilizing advanced networking features such as tunneling and traffic control filters.
Potential Impact
For European organizations, the impact of CVE-2021-47247 can be significant, especially for enterprises and data centers relying on Linux servers with Mellanox network adapters or virtualized environments using mlx5e drivers. The vulnerability could lead to kernel crashes, causing service interruptions and potential denial of service in critical infrastructure, cloud services, and enterprise networks. In worst-case scenarios, if exploited for arbitrary code execution, attackers could gain elevated privileges, compromising system confidentiality and integrity. This risk is heightened in environments where network traffic control and encapsulation are heavily used, such as telecom operators, cloud providers, and financial institutions. The disruption of network services could affect business continuity and data security, leading to regulatory compliance issues under GDPR if personal data is impacted. However, exploitation requires local or network-level access to trigger specific kernel operations, limiting remote exploitation likelihood without prior access.
Mitigation Recommendations
European organizations should prioritize updating their Linux kernels to versions where this vulnerability is patched, as the fix involves correcting concurrency handling in the mlx5e driver. Specifically, they should: 1) Identify systems running affected Linux kernel versions with Mellanox mlx5e drivers, especially those using advanced networking features like TC filters and encapsulation. 2) Apply vendor-provided kernel patches or upgrade to the latest stable kernel releases that include the fix for CVE-2021-47247. 3) In virtualized or containerized environments, ensure host and guest kernels are updated to prevent cross-VM or container escape via this vulnerability. 4) Restrict access to systems capable of triggering TC filter updates to trusted administrators only, minimizing attack surface. 5) Monitor kernel logs for KASAN or mlx5e-related errors that may indicate exploitation attempts or instability. 6) Employ network segmentation and strict access controls to limit exposure of vulnerable systems. 7) Coordinate with hardware vendors for firmware updates or advisories related to Mellanox adapters. These steps go beyond generic patching by focusing on identifying affected network driver usage and controlling access to sensitive kernel operations.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-04-10T18:59:19.534Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9835c4522896dcbea1b3
Added to database: 5/21/2025, 9:09:09 AM
Last enriched: 6/26/2025, 2:36:23 PM
Last updated: 8/7/2025, 6:50:55 PM
Views: 12
Related Threats
Researcher to release exploit for full auth bypass on FortiWeb
HighCVE-2025-9091: Hard-coded Credentials in Tenda AC20
LowCVE-2025-9090: Command Injection in Tenda AC20
MediumCVE-2025-9092: CWE-400 Uncontrolled Resource Consumption in Legion of the Bouncy Castle Inc. Bouncy Castle for Java - BC-FJA 2.1.0
LowCVE-2025-9089: Stack-based Buffer Overflow in Tenda AC20
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.