Race Condition Affecting kernel-zfcpdump-devel-matched package, versions <0:5.14.0-503.22.1.el9_5


Severity

Recommended
0.0
medium
0
10

Based on AlmaLinux security rating.

Threat Intelligence

EPSS
0.18% (8th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-ALMALINUX9-KERNELZFCPDUMPDEVELMATCHED-8663166
  • published26 Jan 2025
  • disclosed22 Jan 2025

Introduced: 22 Jan 2025

CVE-2024-53088  (opens in a new tab)
CWE-362  (opens in a new tab)

How to fix?

Upgrade AlmaLinux:9 kernel-zfcpdump-devel-matched to version 0:5.14.0-503.22.1.el9_5 or higher.
This issue was patched in ALSA-2025:0578.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel-zfcpdump-devel-matched package and not the kernel-zfcpdump-devel-matched package as distributed by AlmaLinux. See How to fix? for AlmaLinux:9 relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1