CVE-2024-50041
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
i40e: Fix macvlan leak by synchronizing access to mac_filter_hash<br />
<br />
This patch addresses a macvlan leak issue in the i40e driver caused by<br />
concurrent access to vsi->mac_filter_hash. The leak occurs when multiple<br />
threads attempt to modify the mac_filter_hash simultaneously, leading to<br />
inconsistent state and potential memory leaks.<br />
<br />
To fix this, we now wrap the calls to i40e_del_mac_filter() and zeroing<br />
vf->default_lan_addr.addr with spin_lock/unlock_bh(&vsi->mac_filter_hash_lock),<br />
ensuring atomic operations and preventing concurrent access.<br />
<br />
Additionally, we add lockdep_assert_held(&vsi->mac_filter_hash_lock) in<br />
i40e_add_mac_filter() to help catch similar issues in the future.<br />
<br />
Reproduction steps:<br />
1. Spawn VFs and configure port vlan on them.<br />
2. Trigger concurrent macvlan operations (e.g., adding and deleting<br />
portvlan and/or mac filters).<br />
3. Observe the potential memory leak and inconsistent state in the<br />
mac_filter_hash.<br />
<br />
This synchronization ensures the integrity of the mac_filter_hash and prevents<br />
the described leak.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.54 (including) | 5.15.168 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.18.11 (including) | 5.19 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.19 (including) | 6.1.113 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.57 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.11.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/703c4d820b31bcadf465288d5746c53445f02a55
- https://git.kernel.org/stable/c/8831abff1bd5b6bc8224f0c0671f46fbd702b5b2
- https://git.kernel.org/stable/c/9a9747288ba0a9ad4f5c9877f18dd245770ad64e
- https://git.kernel.org/stable/c/9db6ce9e2738b05a3672aff4d42169cf3bb5a3e3
- https://git.kernel.org/stable/c/dac6c7b3d33756d6ce09f00a96ea2ecd79fae9fb
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



