CVE-2025-21883: ice: Fix deinitializing VF in error path
In the Linux kernel, the following vulnerability has been resolved:
ice: Fix deinitializing VF in error path
If ice_ena_vfs() fails after calling ice_create_vf_entries(), it frees
all VFs without removing them from snapshot PF-VF mailbox list, leading
to list corruption.
Reproducer:
devlink dev eswitch set $PF1_PCI mode switchdev
ip l s $PF1 up
ip l s $PF1 promisc on
sleep 1
echo 1 > /sys/class/net/$PF1/device/sriov_numvfs
sleep 1
echo 1 > /sys/class/net/$PF1/device/sriov_numvfs
Trace (minimized):
list_add corruption. next->prev should be prev (ffff8882e241c6f0), but was 0000000000000000. (next=ffff888455da1330).
kernel BUG at lib/list_debug.c:29!
RIP: 0010:__list_add_valid_or_report+0xa6/0x100
ice_mbx_init_vf_info+0xa7/0x180 [ice]
ice_initialize_vf_entry+0x1fa/0x250 [ice]
ice_sriov_configure+0x8d7/0x1520 [ice]
? __percpu_ref_switch_mode+0x1b1/0x5d0
? __pfx_ice_sriov_configure+0x10/0x10 [ice]
Sometimes a KASAN report can be seen instead with a similar stack trace:
BUG: KASAN: use-after-free in __list_add_valid_or_report+0xf1/0x100
VFs are added to this list in ice_mbx_init_vf_info(), but only removed
in ice_free_vfs(). Move the removing to ice_free_vf_entries(), which is
also being called in other places where VFs are being removed (including
ice_free_vfs() itself).
Security readout for executives and security teams
Plain-English summary
CVE-2025-21883 is a Linux kernel ice network driver bug that can corrupt kernel list state when virtual functions are deinitialized after an error. On affected hosts, this can crash the kernel or trigger memory-safety reports during SR-IOV virtual function handling.
Executive priority
Treat this as a targeted infrastructure stability risk, not a confirmed internet-wide emergency. Prioritize patching virtualization or network hosts that use ice SR-IOV features.
Technical view
The ice driver may free VFs after ice_create_vf_entries() without removing them from the PF-VF mailbox snapshot list. Later VF initialization can hit list corruption or KASAN use-after-free in __list_add_valid_or_report. The fix moves list removal into ice_free_vf_entries().
Likely exposure
Exposure is most likely on Linux systems using the ice driver with SR-IOV virtual functions. Systems not using this driver or VF provisioning are less likely to encounter the vulnerable path.
Exploitation context
The bundle includes a local repro scenario involving privileged network, devlink, and SR-IOV configuration actions. It does not cite remote exploitation, public weaponization, or CISA KEV listing.
Researcher notes
Evidence supports a kernel memory/list corruption condition in the ice VF error path. Severity and CVSS are not provided. Impact appears tied to SR-IOV VF lifecycle handling; privilege requirements are inferred from the repro context, not explicitly scored.
Mitigation direction
Apply Linux stable or distribution kernel updates containing the referenced ice driver fixes.
Prioritize hosts using the ice driver with SR-IOV or VF provisioning enabled.
Check vendor or distribution advisories for backported fixed kernel versions.
If patching is delayed, consult vendor guidance; no workaround is named in the bundle.
Validation and detection
Inventory Linux kernel versions on systems using the ice driver.
Confirm whether SR-IOV virtual functions are enabled on affected NIC hosts.
Verify the running kernel includes one of the referenced stable fixes or a vendor backport.
Review kernel logs for list corruption, BUG, or KASAN reports involving ice VF initialization.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-21883 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
5Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Mar 27, 2025, 14:57 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.