Vulnerabilidad en kernel de Linux (CVE-2024-50273)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
19/11/2024
Última modificación:
27/11/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs: reinicializar la lista de referencias retrasadas después de eliminarla de la lista En insert_delayed_ref(), si necesitamos actualizar la acción de una referencia existente a BTRFS_DROP_DELAYED_REF, eliminamos la referencia de ref_add_list de su cabecera de referencia usando list_del(), lo que deja el miembro add_list de la referencia sin reinicializar, ya que list_del() establece los miembros siguiente y anterior de la lista en LIST_POISON1 y LIST_POISON2, respectivamente. Si más tarde terminamos llamando a drop_delayed_ref() contra la referencia, lo que puede suceder durante la fusión o al destruir referencias retrasadas debido a un aborto de transacción, podemos provocar un bloqueo ya que en drop_delayed_ref() llamamos a list_empty() contra el add_list de la referencia, que devuelve falso ya que la lista no se reinicializó después de list_del() y, como consecuencia, llamamos a list_del() nuevamente en drop_delayed_ref(). Esto da como resultado un acceso a la lista no válido ya que los miembros next y prev están configurados como punteros envenenados, lo que resulta en un splat si CONFIG_LIST_HARDENED y CONFIG_DEBUG_LIST están configurados o desreferencias de punteros envenenados no válidas en caso contrario. Así que solucione esto eliminando de la lista con list_del_init() en su lugar.
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:*:*:*:*:*:*:*:* | 4.10 (incluyendo) | 4.19.324 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.286 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.230 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.172 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.117 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.61 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.11.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc6:*:*:*:*:*:* |
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/2cb1a73d1d44a1c11b0ee5eeced765dd80ec48e6
- https://git.kernel.org/stable/c/2fd0948a483e9cb2d669c7199bc620a21c97673d
- https://git.kernel.org/stable/c/50a3933760b427759afdd23156a7280a19357a92
- https://git.kernel.org/stable/c/93c5b8decc0ef39ba84f4211d2db6da0a4aefbeb
- https://git.kernel.org/stable/c/bf0b0c6d159767c0d1c21f793950d78486690ee0
- https://git.kernel.org/stable/c/c24fa427fc0ae827b2a3a07f13738cbf82c3f851
- https://git.kernel.org/stable/c/c9a75ec45f1111ef530ab186c2a7684d0a0c9245
- https://git.kernel.org/stable/c/f04be6d68f715c1473a8422fc0460f57b5e99931