CVE-2024-53088

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-53088
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-53088.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-53088
Downstream
Related
Published
2024-11-19T18:15:27Z
Modified
2025-10-01T21:16:28Z
Severity
  • 4.7 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

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 i40endosetvfport_vlan().
  2. Thread T1 concurrently frees the filter in _i40edelfilter() within i40endosetvf_mac().
  3. Subsequently, i40eservicetask() calls i40esyncvsi_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 I40EAQRC_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, I40EFILTERNEWSYNC, for the time when a filter is on a tmpadd_list. These filters cannot be deleted from the hash list directly but must be removed using the full process.

References

Affected packages