CVE-2024-50041

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*

History

24 Oct 2024, 19:31

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CWE CWE-401
References () https://git.kernel.org/stable/c/703c4d820b31bcadf465288d5746c53445f02a55 - () https://git.kernel.org/stable/c/703c4d820b31bcadf465288d5746c53445f02a55 - Patch
References () https://git.kernel.org/stable/c/8831abff1bd5b6bc8224f0c0671f46fbd702b5b2 - () https://git.kernel.org/stable/c/8831abff1bd5b6bc8224f0c0671f46fbd702b5b2 - Patch
References () https://git.kernel.org/stable/c/9a9747288ba0a9ad4f5c9877f18dd245770ad64e - () https://git.kernel.org/stable/c/9a9747288ba0a9ad4f5c9877f18dd245770ad64e - Patch
References () https://git.kernel.org/stable/c/9db6ce9e2738b05a3672aff4d42169cf3bb5a3e3 - () https://git.kernel.org/stable/c/9db6ce9e2738b05a3672aff4d42169cf3bb5a3e3 - Patch
References () https://git.kernel.org/stable/c/dac6c7b3d33756d6ce09f00a96ea2ecd79fae9fb - () https://git.kernel.org/stable/c/dac6c7b3d33756d6ce09f00a96ea2ecd79fae9fb - Patch

23 Oct 2024, 15:12

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: i40e: Corregir pérdida de macvlan sincronizando el acceso a mac_filter_hash Este parche soluciona un problema de pérdida de macvlan en el controlador i40e causado por el acceso simultáneo a vsi->mac_filter_hash. La pérdida se produce cuando varios subprocesos intentan modificar mac_filter_hash simultáneamente, lo que genera un estado inconsistente y posibles pérdidas de memoria. Para solucionar esto, ahora envolvemos las llamadas a i40e_del_mac_filter() y ponemos a cero vf->default_lan_addr.addr con spin_lock/unlock_bh(&vsi->mac_filter_hash_lock), lo que garantiza operaciones atómicas y evita el acceso simultáneo. Además, agregamos lockdep_assert_held(&vsi->mac_filter_hash_lock) en i40e_add_mac_filter() para ayudar a detectar problemas similares en el futuro. Pasos de reproducción: 1. Genere VFs y configure el puerto VLAN en ellos. 2. Active operaciones MACVLAN simultáneas (por ejemplo, agregar y eliminar filtros MAC o PortVLAN). 3. Observe la posible pérdida de memoria y el estado inconsistente en el hash de filtro MAC. Esta sincronización garantiza la integridad del hash de filtro MAC y evita la pérdida descrita.

21 Oct 2024, 20:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-10-21 20:15

Updated : 2024-10-24 19:31


NVD link : CVE-2024-50041

Mitre link : CVE-2024-50041

CVE.ORG link : CVE-2024-50041


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-401

Missing Release of Memory after Effective Lifetime