CVE-2025-21981: ice: fix memory leak in aRFS after reset
In the Linux kernel, the following vulnerability has been resolved:
ice: fix memory leak in aRFS after reset
Fix aRFS (accelerated Receive Flow Steering) structures memory leak by
adding a checker to verify if aRFS memory is already allocated while
configuring VSI. aRFS objects are allocated in two cases:
- as part of VSI initialization (at probe), and
- as part of reset handling
However, VSI reconfiguration executed during reset involves memory
allocation one more time, without prior releasing already allocated
resources. This led to the memory leak with the following signature:
[root@os-delivery ~]# cat /sys/kernel/debug/kmemleak
unreferenced object 0xff3c1ca7252e6000 (size 8192):
comm "kworker/0:0", pid 8, jiffies 4296833052
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace (crc 0):
[<ffffffff991ec485>] __kmalloc_cache_noprof+0x275/0x340
[<ffffffffc0a6e06a>] ice_init_arfs+0x3a/0xe0 [ice]
[<ffffffffc09f1027>] ice_vsi_cfg_def+0x607/0x850 [ice]
[<ffffffffc09f244b>] ice_vsi_setup+0x5b/0x130 [ice]
[<ffffffffc09c2131>] ice_init+0x1c1/0x460 [ice]
[<ffffffffc09c64af>] ice_probe+0x2af/0x520 [ice]
[<ffffffff994fbcd3>] local_pci_probe+0x43/0xa0
[<ffffffff98f07103>] work_for_cpu_fn+0x13/0x20
[<ffffffff98f0b6d9>] process_one_work+0x179/0x390
[<ffffffff98f0c1e9>] worker_thread+0x239/0x340
[<ffffffff98f14abc>] kthread+0xcc/0x100
[<ffffffff98e45a6d>] ret_from_fork+0x2d/0x50
[<ffffffff98e083ba>] ret_from_fork_asm+0x1a/0x30
...
Security readout for executives and security teams
Plain-English summary
CVE-2025-21981 is a Linux kernel memory leak in the ice network driver during reset handling. A local privileged user could trigger availability impact by causing repeated allocations that are not released. The issue is operationally important for systems using affected kernels and this driver, but the sources do not show remote exploitation or public active abuse.
Executive priority
Treat this as a moderate-priority kernel availability issue. Patch in the normal kernel maintenance cycle, escalating for network infrastructure, virtualization hosts, or production systems that depend on the affected driver. There is no supplied evidence of active exploitation, so emergency response is not indicated from this bundle alone.
Technical view
The bug is in accelerated Receive Flow Steering handling for ice VSIs. aRFS structures are allocated at probe and again during reset-driven VSI reconfiguration without checking whether memory already exists. The kernel fix adds a guard to avoid duplicate allocation. CVSS 3.1 is 5.5 with local access and low privileges required, affecting availability only.
Likely exposure
Exposure is most likely on Linux systems running affected kernel versions where the ice driver and aRFS-related reset paths are present. The bundle lists affected Linux kernel ranges from 5.8 through fixed stable lines, plus Debian LTS advisories. Systems not using this driver path are less likely to be practically exposed.
Exploitation context
The CVE record marks KEV as false, and the supplied sources do not report active exploitation. The CVSS vector requires local access and low privileges, with no user interaction and no confidentiality or integrity impact. The business risk is denial of service through memory exhaustion rather than data theft.
Researcher notes
Evidence supports a local availability vulnerability caused by duplicate aRFS allocation during ice VSI reset handling. The bundle includes kernel stable commits and Debian advisories, but does not provide exploit evidence, detailed distribution package matrices, or proof that every listed affected kernel is practically vulnerable in every configuration.
Mitigation direction
Apply kernel updates from your Linux distribution or the referenced stable kernel fixes.
Prioritize hosts using the ice driver on affected kernel versions.
Review Debian LTS advisories if running Debian-based long-term support systems.
Plan reboot or live-patching workflow according to normal kernel update policy.
Monitor affected hosts for abnormal kernel memory growth until patched.
Validation and detection
Inventory Linux kernel versions against the affected version list in the CVE record.
Confirm whether the ice kernel driver is loaded or required on each host.
Check vendor advisories for the installed distribution kernel package status.
Verify the running kernel includes one of the referenced stable fixes.
Review system monitoring for memory leak symptoms during NIC reset events.
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.
cwe · low confidence lookup
CWE-401: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-401 · source CWE mapping
Missing Release of Memory after Effective Lifetime
Missing Release of Memory after Effective Lifetime represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.