Bug 2327328 (CVE-2024-53088) - CVE-2024-53088 kernel: i40e: fix race condition by adding filter's intermediate sync state
Summary: CVE-2024-53088 kernel: i40e: fix race condition by adding filter's intermedia...
Keywords:
Status: NEW
Alias: CVE-2024-53088
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2327493
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-11-19 18:01 UTC by OSIDB Bzimport
Modified: 2025-04-25 17:25 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2025:0077 0 None None None 2025-01-08 07:17:43 UTC
Red Hat Product Errata RHBA-2025:0289 0 None None None 2025-01-13 10:59:09 UTC
Red Hat Product Errata RHBA-2025:0290 0 None None None 2025-01-13 11:09:46 UTC
Red Hat Product Errata RHBA-2025:0291 0 None None None 2025-01-13 12:49:30 UTC
Red Hat Product Errata RHBA-2025:0321 0 None None None 2025-01-14 17:41:46 UTC
Red Hat Product Errata RHBA-2025:0659 0 None None None 2025-01-23 08:37:12 UTC
Red Hat Product Errata RHBA-2025:1261 0 None None None 2025-02-10 22:41:22 UTC
Red Hat Product Errata RHSA-2025:0057 0 None None None 2025-01-08 01:33:41 UTC
Red Hat Product Errata RHSA-2025:0065 0 None None None 2025-01-08 00:51:45 UTC
Red Hat Product Errata RHSA-2025:0066 0 None None None 2025-01-08 00:22:48 UTC
Red Hat Product Errata RHSA-2025:0578 0 None None None 2025-01-22 02:06:04 UTC

Description OSIDB Bzimport 2024-11-19 18:01:07 UTC
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.

Comment 2 errata-xmlrpc 2025-01-08 00:22:47 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2025:0066 https://access.redhat.com/errata/RHSA-2025:0066

Comment 3 errata-xmlrpc 2025-01-08 00:51:43 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2025:0065 https://access.redhat.com/errata/RHSA-2025:0065

Comment 4 errata-xmlrpc 2025-01-08 01:33:40 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.4 Extended Update Support

Via RHSA-2025:0057 https://access.redhat.com/errata/RHSA-2025:0057

Comment 5 errata-xmlrpc 2025-01-22 02:06:02 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2025:0578 https://access.redhat.com/errata/RHSA-2025:0578


Note You need to log in before you can comment on or make changes to this bug.