CVE-2024-53088: i40e: fix race condition by adding filter's intermediate sync state
In the Linux kernel, the following vulnerability has been resolved:
i40e: fix race condition by adding filter's intermediate sync state
Fix a race condition in the i40e driver that leads to MAC/VLAN filters
becoming corrupted and leaking. Address the issue that occurs under
heavy load when multiple threads are concurrently modifying MAC/VLAN
filters by setting mac and port VLAN.
1. Thread T0 allocates a filter in i40e_add_filter() within
i40e_ndo_set_vf_port_vlan().
2. Thread T1 concurrently frees the filter in __i40e_del_filter() within
i40e_ndo_set_vf_mac().
3. Subsequently, i40e_service_task() calls i40e_sync_vsi_filters(), which
refers to the already freed filter memory, causing corruption.
Reproduction steps:
1. Spawn multiple VFs.
2. Apply a concurrent heavy load by running parallel operations to change
MAC addresses on the VFs and change port VLANs on the host.
3. Observe errors in dmesg:
"Error I40E_AQ_RC_ENOSPC adding RX filters on VF XX,
please set promiscuous on manually for VF XX".
Exact code for stable reproduction Intel can't open-source now.
The fix involves implementing a new intermediate filter state,
I40E_FILTER_NEW_SYNC, for the time when a filter is on a tmp_add_list.
These filters cannot be deleted from the hash list directly but
must be removed using the full process.
Security readout for executives and security teams
Plain-English summary
CVE-2024-53088 is a Linux kernel i40e driver race condition. Under heavy concurrent changes to virtual function MAC and port VLAN settings, filter state can become corrupted and leaked, potentially disrupting network availability. It is not a remote internet-facing bug based on the supplied evidence.
Executive priority
Treat as a targeted availability risk for virtualized networking hosts, not a broad emergency. Prioritize patching systems where i40e virtual functions support production workloads or tenant-facing network isolation.
Technical view
The i40e driver could free a MAC/VLAN filter while another path still expects it during filter synchronization. The fix adds an intermediate I40E_FILTER_NEW_SYNC state for filters on the temporary add list, preventing direct deletion from the hash list during synchronization.
Likely exposure
Exposure is most likely on Linux hosts using the i40e driver with virtual functions and operational workflows that concurrently modify VF MAC addresses and port VLANs. Systems without that driver, without VFs, or without such local privileged configuration activity appear less exposed.
Exploitation context
The CVSS vector is local, high complexity, low privileges, no user interaction, and high availability impact. CISA KEV status is false in the supplied bundle, and no cited source states active exploitation. The provided reproduction detail is limited and not open-sourced.
Researcher notes
Evidence supports a race in i40e MAC/VLAN filter lifecycle handling. The source describes freed filter memory later referenced by i40e_sync_vsi_filters. Exact reproduction code is unavailable, so validation should focus on affected configuration, patch presence, and operational log symptoms.
Mitigation direction
Apply Linux kernel or distribution updates containing the referenced stable fixes.
Check vendor or distribution advisories for the correct fixed package version.
Reduce concurrent VF MAC and port VLAN changes until patched.
Monitor kernel logs for i40e RX filter ENOSPC errors.
Validation and detection
Inventory hosts using the Linux i40e driver and virtual functions.
Compare running kernel versions against vendor fixed packages or stable commits.
Review dmesg or centralized logs for i40e RX filter errors.
Run controlled regression tests for concurrent VF MAC and VLAN updates after patching.
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-362: 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-362 · source CWE mapping
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.