CVE-2025-21883
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
27/03/2025
Last modified:
29/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ice: Fix deinitializing VF in error path<br />
<br />
If ice_ena_vfs() fails after calling ice_create_vf_entries(), it frees<br />
all VFs without removing them from snapshot PF-VF mailbox list, leading<br />
to list corruption.<br />
<br />
Reproducer:<br />
devlink dev eswitch set $PF1_PCI mode switchdev<br />
ip l s $PF1 up<br />
ip l s $PF1 promisc on<br />
sleep 1<br />
echo 1 > /sys/class/net/$PF1/device/sriov_numvfs<br />
sleep 1<br />
echo 1 > /sys/class/net/$PF1/device/sriov_numvfs<br />
<br />
Trace (minimized):<br />
list_add corruption. next->prev should be prev (ffff8882e241c6f0), but was 0000000000000000. (next=ffff888455da1330).<br />
kernel BUG at lib/list_debug.c:29!<br />
RIP: 0010:__list_add_valid_or_report+0xa6/0x100<br />
ice_mbx_init_vf_info+0xa7/0x180 [ice]<br />
ice_initialize_vf_entry+0x1fa/0x250 [ice]<br />
ice_sriov_configure+0x8d7/0x1520 [ice]<br />
? __percpu_ref_switch_mode+0x1b1/0x5d0<br />
? __pfx_ice_sriov_configure+0x10/0x10 [ice]<br />
<br />
Sometimes a KASAN report can be seen instead with a similar stack trace:<br />
BUG: KASAN: use-after-free in __list_add_valid_or_report+0xf1/0x100<br />
<br />
VFs are added to this list in ice_mbx_init_vf_info(), but only removed<br />
in ice_free_vfs(). Move the removing to ice_free_vf_entries(), which is<br />
also being called in other places where VFs are being removed (including<br />
ice_free_vfs() itself).
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.4 (including) | 6.6.81 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.13.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.14:rc4:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



