CVE-2024-50041

i40e: Fix macvlan leak by synchronizing access to mac_filter_hash

State
Published
Severity
8.8 High
Published
Oct 21, 2024
Updated
Aug 5, 2026
Reserved
Oct 21, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

i40e: Fix macvlan leak by synchronizing access to mac_filter_hash

This patch addresses a macvlan leak issue in the i40e driver caused by concurrent access to vsi->mac_filter_hash. The leak occurs when multiple threads attempt to modify the mac_filter_hash simultaneously, leading to inconsistent state and potential memory leaks.

To fix this, we now wrap the calls to i40e_del_mac_filter() and zeroing vf->default_lan_addr.addr with spin_lock/unlock_bh(&vsi->mac_filter_hash_lock), ensuring atomic operations and preventing concurrent access.

Additionally, we add lockdep_assert_held(&vsi->mac_filter_hash_lock) in i40e_add_mac_filter() to help catch similar issues in the future.

Reproduction steps: 1. Spawn VFs and configure port vlan on them. 2. Trigger concurrent macvlan operations (e.g., adding and deleting portvlan and/or mac filters). 3. Observe the potential memory leak and inconsistent state in the mac_filter_hash.

This synchronization ensures the integrity of the mac_filter_hash and prevents the described leak.

Scores

CVSSScoreVectorSource
3.18.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ddec6cbbe22781d17965f1e6386e5a6363c058d2 to before 9db6ce9e2738b05a3672aff4d42169cf3bb5a3e3Affected
  • fed0d9f13266a22ce1fc9a97521ef9cdc6271a23 to before 9a9747288ba0a9ad4f5c9877f18dd245770ad64eAffected
  • fed0d9f13266a22ce1fc9a97521ef9cdc6271a23 to before 703c4d820b31bcadf465288d5746c53445f02a55Affected
  • fed0d9f13266a22ce1fc9a97521ef9cdc6271a23 to before 8831abff1bd5b6bc8224f0c0671f46fbd702b5b2Affected
  • fed0d9f13266a22ce1fc9a97521ef9cdc6271a23 to before dac6c7b3d33756d6ce09f00a96ea2ecd79fae9fbAffected
  • 8bfcbaa379694e05290fcff21f4bd40afcf88776Affected
  • 5.15.54 to before 5.15.168Affected
  • 5.18.11 to before 5.19Affected
LinuxLinux
  • 5.19Affected
  • before 5.19Not affected
  • 5.15.168 through 5.15.*Not affected
  • 6.1.113 through 6.1.*Not affected
  • 6.6.57 through 6.6.*Not affected
  • 6.11.4 through 6.11.*Not affected
  • 6.12 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.