Vulnerabilidad en kernel de Linux (CVE-2024-50041)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/10/2024
Última modificación:
24/10/2024
Descripción
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.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.54 (incluyendo) | 5.15.168 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.18.11 (incluyendo) | 5.19 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.19 (incluyendo) | 6.1.113 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.57 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.11.4 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- 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