CVE-2021-47517·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: ethtool: do not perform operations on net devices being unregistered There is a short period between a net device starts to be unregistered and when it is actually gone. In that time frame ethtool operations could still be performed, which might end up in unwanted or undefined behaviours[1]. Do not allow ethtool operations after a net device starts its unregistration. This patch targets the netlink part as the ioctl one isn't affected: the reference to the net device is taken and the operation is executed within an rtnl lock section and the net device won't be found after unregister. [1] For example adding Tx queues after unregister ends up in NULL pointer exceptions and UaFs, such as: BUG: KASAN: use-after-free in kobject_get+0x14/0x90 Read of size 1 at addr ffff88801961248c by task ethtool/755 CPU: 0 PID: 755 Comm: ethtool Not tainted 5.15.0-rc6+ #778 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-4.fc34 04/014 Call Trace: dump_stack_lvl+0x57/0x72 print_address_description.constprop.0+0x1f/0x140 kasan_report.cold+0x7f/0x11b kobject_get+0x14/0x90 kobject_add_internal+0x3d1/0x450 kobject_init_and_add+0xba/0xf0 netdev_queue_update_kobjects+0xcf/0x200 netif_set_real_num_tx_queues+0xb4/0x310 veth_set_channels+0x1c3/0x550 ethnl_set_channels+0x524/0x610
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.15.8
- Published
- 2024-05-24
Affected versions
From: 5.11
Until: 5.15.8
Fixed in: 5.15.8
How to fix this CVE
Update your Linux kernel to version 5.15.8 or later to patch a race condition in ethtool netlink operations that can occur during device unregistration. This vulnerability allows unprivileged users to trigger use-after-free and NULL pointer exceptions by performing ethtool operations on network devices during their shutdown sequence. Kernel updates should be applied followed by a system reboot to ensure the patched kernel is loaded.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check current kernel version with `uname -r` and compare against 5.15.8 (vulnerable if 5.11 through 5.15.7)
- Step 2: Verify ethtool is installed and check for recent access logs: `which ethtool && sudo journalctl --since '24 hours ago' | grep -i ethtool`
- Step 3: Search kernel logs for KASAN use-after-free or NULL pointer exceptions: `sudo dmesg | grep -E 'KASAN|use-after-free|kobject_get|NULL pointer'`
- Step 4: After patching, confirm new kernel is booted with `uname -r` and verify it is version 5.15.8 or later
FAQ
What is CVE-2021-47517?
CVE-2021-47517 is a race condition in the Linux kernel's ethtool netlink interface that allows unprivileged local users to execute ethtool operations on network devices during their unregistration phase, leading to use-after-free memory issues and kernel crashes.
Is CVE-2021-47517 being actively exploited?
No, CVE-2021-47517 is not listed as actively exploited by CISA and no public exploits are available, though the vulnerability is trivial to trigger locally by any unprivileged user with ethtool access.
What versions of Kernel are affected by CVE-2021-47517?
Linux kernel versions 5.11 through 5.15.7 are vulnerable. The fix was released in kernel version 5.15.8 and later stable branches.
How do I check if my server is vulnerable to CVE-2021-47517?
Run `uname -r` to display your kernel version. If the output shows version 5.11 to 5.15.7, your system is vulnerable and requires a kernel update.
Does Defensia detect CVE-2021-47517?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2021-47517 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/7c26da3be1e9843a15b5318f90db8a564479d2ac
- https://git.kernel.org/stable/c/cfd719f04267108f5f5bf802b9d7de69e99a99f9
- https://git.kernel.org/stable/c/dde91ccfa25fd58f64c397d91b81a4b393100ffa
- https://git.kernel.org/stable/c/7c26da3be1e9843a15b5318f90db8a564479d2ac
- https://git.kernel.org/stable/c/cfd719f04267108f5f5bf802b9d7de69e99a99f9
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47517. Free for 1 server.
Get started free