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 i40eaddfilter() within i40endosetvfportvlan(). 2. Thread T1 concurrently frees the filter in i40edelfilter() within i40endosetvfmac(). 3. Subsequently, i40eservicetask() calls i40esyncvsifilters(), 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 I40EAQRCENOSPC 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, I40EFILTERNEWSYNC, for the time when a filter is on a tmpaddlist. These filters cannot be deleted from the hash list directly but must be removed using the full process.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-53088?
CVE-2024-53088 is classified with a medium severity rating due to a race condition in the i40e driver that can lead to MAC/VLAN filter corruption.
How do I fix CVE-2024-53088?
To fix CVE-2024-53088, users should update the Linux kernel to a patched version that resolves the race condition in the i40e driver.
Which Linux kernel versions are affected by CVE-2024-53088?
CVE-2024-53088 affects Linux kernel versions from 4.10 to 5.15.172, 5.16 to 6.1.117, 6.2 to 6.6.61, 6.7 to 6.11.8, and specific release candidates 6.12-rc1 to 6.12-rc6.
What impact does CVE-2024-53088 have on system security?
The impact of CVE-2024-53088 includes potential information leaks and compromised network integrity due to corrupted MAC/VLAN filters.
Is there a workaround for CVE-2024-53088?
Currently, there is no documented workaround for CVE-2024-53088 other than upgrading to a secure version of the Linux kernel.