CVE-2021-47619
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
20/06/2024
Last modified:
18/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
i40e: Fix queues reservation for XDP<br />
<br />
When XDP was configured on a system with large number of CPUs<br />
and X722 NIC there was a call trace with NULL pointer dereference.<br />
<br />
i40e 0000:87:00.0: failed to get tracking for 256 queues for VSI 0 err -12<br />
i40e 0000:87:00.0: setup of MAIN VSI failed<br />
<br />
BUG: kernel NULL pointer dereference, address: 0000000000000000<br />
RIP: 0010:i40e_xdp+0xea/0x1b0 [i40e]<br />
Call Trace:<br />
? i40e_reconfig_rss_queues+0x130/0x130 [i40e]<br />
dev_xdp_install+0x61/0xe0<br />
dev_xdp_attach+0x18a/0x4c0<br />
dev_change_xdp_fd+0x1e6/0x220<br />
do_setlink+0x616/0x1030<br />
? ahci_port_stop+0x80/0x80<br />
? ata_qc_issue+0x107/0x1e0<br />
? lock_timer_base+0x61/0x80<br />
? __mod_timer+0x202/0x380<br />
rtnl_setlink+0xe5/0x170<br />
? bpf_lsm_binder_transaction+0x10/0x10<br />
? security_capable+0x36/0x50<br />
rtnetlink_rcv_msg+0x121/0x350<br />
? rtnl_calcit.isra.0+0x100/0x100<br />
netlink_rcv_skb+0x50/0xf0<br />
netlink_unicast+0x1d3/0x2a0<br />
netlink_sendmsg+0x22a/0x440<br />
sock_sendmsg+0x5e/0x60<br />
__sys_sendto+0xf0/0x160<br />
? __sys_getsockname+0x7e/0xc0<br />
? _copy_from_user+0x3c/0x80<br />
? __sys_setsockopt+0xc8/0x1a0<br />
__x64_sys_sendto+0x20/0x30<br />
do_syscall_64+0x33/0x40<br />
entry_SYSCALL_64_after_hwframe+0x44/0xae<br />
RIP: 0033:0x7f83fa7a39e0<br />
<br />
This was caused by PF queue pile fragmentation due to<br />
flow director VSI queue being placed right after main VSI.<br />
Because of this main VSI was not able to resize its<br />
queue allocation for XDP resulting in no queues allocated<br />
for main VSI when XDP was turned on.<br />
<br />
Fix this by always allocating last queue in PF queue pile<br />
for a flow director VSI.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.12 (including) | 4.19.228 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.176 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.96 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.19 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.16.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- 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
- https://git.kernel.org/stable/c/d46fa4ea9756ef6cbcf9752d0832cc66e2d7121b



