CVE-2025-21883
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
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).
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 8cd8a6b17d275a45e3722d0215f6115b687c8c3e | affected | git | 3c01102bec9592928e6b155da41cfcd5d25a2066 | Unavailable | None listed |
| 8cd8a6b17d275a45e3722d0215f6115b687c8c3e | affected | git | a4880583f88deba63504ce1c8287a70d39c01378 | Unavailable | None listed |
| 8cd8a6b17d275a45e3722d0215f6115b687c8c3e | affected | git | 34393fd78d7183a007eaf0090966ebedcc29bd57 | Unavailable | None listed |
| 8cd8a6b17d275a45e3722d0215f6115b687c8c3e | affected | git | 79990cf5e7aded76d0c092c9f5ed31eb1c75e02c | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.4 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.4 | Unavailable | None listed |
| 6.6.81 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.18 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.13.6 | unaffected | semver | Unavailable | 6.13.* | None listed |
| 6.14 | unaffected | original_commit_for_fix | Unavailable | * | None listed |