Vulnerabilidad en kernel de Linux (CVE-2024-44964)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/09/2024
Última modificación:
06/09/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: idpf: corrige fugas de memoria y fallos al realizar un reinicio suave El segundo commit etiquetado introdujo un UAF, ya que eliminó la restauración de punteros q_vector->vport después de reinicializar las estructuras. Esto se debe a que todas las funciones de asignación de colas se realizan aquí con la nueva estructura vport temporal y esas funciones reescriben los punteros hacia atrás al vport. Luego, esta nueva estructura se libera y los punteros comienzan a no llevar a ninguna parte. Pero en términos generales, la lógica actual es muy frágil. Afirma ser más confiable cuando el sistema tiene poca memoria, pero de hecho, consume dos veces más memoria ya que en el momento de ejecutar esta función, hay dos vports asignados con sus colas y vectores. Además, afirma evitar que el controlador entre en "mal estado", pero de hecho, cualquier error durante la reconstrucción deja el antiguo vport en el estado parcialmente asignado. Finalmente, si la interfaz está inactiva cuando se llama a la función, siempre asigna un nuevo conjunto de colas, pero cuando el usuario decide habilitar la interfaz más adelante, vport_open() las asigna una vez más, es decir, hay una clara pérdida de memoria aquí. Simplemente no asigne un nuevo conjunto de colas cuando realice un reinicio, eso resuelve fallas y pérdidas de memoria. Vuelva a agregar el número de cola anterior y vuelva a abrir la interfaz en la reversión: eso resuelve los estados de limbo cuando el dispositivo se deja deshabilitado y/o sin colas de HW habilitadas.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.5 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página