CVE-2021-47619·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: i40e: Fix queues reservation for XDP When XDP was configured on a system with large number of CPUs and X722 NIC there was a call trace with NULL pointer dereference. i40e 0000:87:00.0: failed to get tracking for 256 queues for VSI 0 err -12 i40e 0000:87:00.0: setup of MAIN VSI failed BUG: kernel NULL pointer dereference, address: 0000000000000000 RIP: 0010:i40e_xdp+0xea/0x1b0 [i40e] Call Trace: ? i40e_reconfig_rss_queues+0x130/0x130 [i40e] dev_xdp_install+0x61/0xe0 dev_xdp_attach+0x18a/0x4c0 dev_change_xdp_fd+0x1e6/0x220 do_setlink+0x616/0x1030 ? ahci_port_stop+0x80/0x80 ? ata_qc_issue+0x107/0x1e0 ? lock_timer_base+0x61/0x80 ? __mod_timer+0x202/0x380 rtnl_setlink+0xe5/0x170 ? bpf_lsm_binder_transaction+0x10/0x10 ? security_capable+0x36/0x50 rtnetlink_rcv_msg+0x121/0x350 ? rtnl_calcit.isra.0+0x100/0x100 netlink_rcv_skb+0x50/0xf0 netlink_unicast+0x1d3/0x2a0 netlink_sendmsg+0x22a/0x440 sock_sendmsg+0x5e/0x60 __sys_sendto+0xf0/0x160 ? __sys_getsockname+0x7e/0xc0 ? _copy_from_user+0x3c/0x80 ? __sys_setsockopt+0xc8/0x1a0 __x64_sys_sendto+0x20/0x30 do_syscall_64+0x33/0x40 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f83fa7a39e0 This was caused by PF queue pile fragmentation due to flow director VSI queue being placed right after main VSI. Because of this main VSI was not able to resize its queue allocation for XDP resulting in no queues allocated for main VSI when XDP was turned on. Fix this by always allocating last queue in PF queue pile for a flow director VSI.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.16.5
- Published
- 2024-06-20
Affected versions
From: 5.16
Until: 5.16.5
Fixed in: 5.16.5
How to fix this CVE
Update the Linux kernel to version 5.16.5 or later to resolve a queue allocation issue affecting XDP (eXpress Data Path) on systems with high CPU counts and Intel X722 NICs. The vulnerability causes queue fragmentation in the i40e driver, preventing proper XDP initialization and resulting in kernel NULL pointer dereferences. Apply the kernel update through your distribution's package manager and reboot the system to activate the fix.
sudo dnf update kernelDefensia detects this vulnerability
How to check if you are affected
- Run `uname -r` to check the currently running kernel version and verify it is 5.16.5 or later
- Check if i40e driver is loaded: `lsmod | grep i40e` — if empty, the driver is not in use and risk is minimal
- Search kernel logs for XDP-related errors: `dmesg | grep -i 'i40e.*failed to get tracking\|i40e.*setup of MAIN VSI failed'`
- After patching, reboot and run `uname -r` again to confirm the fixed kernel version is active
FAQ
What is CVE-2021-47619?
This vulnerability affects the Intel i40e driver in the Linux kernel, causing XDP queue allocation to fail on systems with many CPUs and X722 NICs due to improper queue pile fragmentation handling. When XDP is enabled, the driver attempts to resize queue allocations but receives a NULL pointer dereference, crashing the kernel.
Is CVE-2021-47619 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog and no public exploits are available. It requires local system access and specific hardware to trigger.
What versions of Kernel are affected by CVE-2021-47619?
Linux kernel versions 5.16 through 5.16.4 are vulnerable. The fix is included in kernel 5.16.5 and later releases.
How do I check if my server is vulnerable to CVE-2021-47619?
Run `uname -r` to check your kernel version — if it returns 5.16 through 5.16.4, you are vulnerable. Additionally, run `lsmod | grep i40e` to determine if the affected driver is loaded on your system.
Does Defensia detect CVE-2021-47619?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2021-47619 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/00eddb0e4ea115154581d1049507a996acfc2d3e
- https://git.kernel.org/stable/c/4b3aa858268b7b9aeef02e5f9c4cd8f8fac101c8
- https://git.kernel.org/stable/c/768eb705e6381f0c70ca29d4e66f19790d5d19a1
- https://git.kernel.org/stable/c/92947844b8beee988c0ce17082b705c2f75f0742
- https://git.kernel.org/stable/c/be6998f232b8e4ca8225029e305b8329d89bfd59
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47619. Free for 1 server.
Get started free