Vulnerabilidad en kernel de Linux (CVE-2024-53135)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/12/2024
Última modificación:
14/12/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: KVM: VMX: oculta la virtualización de Intel PT (modo invitado/host) detrás de CONFIG_BROKEN Oculta el parámetro del módulo pt_mode de KVM detrás de CONFIG_BROKEN, es decir, deshabilita la compatibilidad con la virtualización de Intel PT a través del modo invitado/host a menos que BROKEN=y. Hay una gran cantidad de errores en la implementación, algunos de los cuales son fatales para el invitado y otros que ponen en riesgo la estabilidad y la salud del host. Para las fatalidades del invitado, el problema más evidente es que KVM no garantiza que el seguimiento esté deshabilitado y *permanece* deshabilitado antes de VM-Enter, lo que es necesario ya que el hardware no permite cargar RTIT_CTL (del invitado) si el seguimiento está habilitado (lo que se aplica a través de una verificación de consistencia de VMX). Según el SDM: si el procesador lógico está funcionando con Intel PT habilitado (si IA32_RTIT_CTL.TraceEn = 1) en el momento de la entrada de la VM, el control de entrada de la VM "cargar IA32_RTIT_CTL" debe ser 0. En el lado del host, KVM no valida la configuración de CPUID del invitado proporcionada por el espacio de usuario y, lo que es peor, utiliza la configuración del invitado para decidir qué MSR guardar/cargar en VM-Enter y VM-Exit. Por ejemplo, configurar la CPUID del invitado para enumerar más rangos de direcciones de los que admite el hardware hará que KVM intente pasar, guardar y cargar MSR inexistentes, lo que genera una variedad de WARN, ERRORES ToPA en el host, un posible bloqueo, etc.
Impacto
Puntuación base 3.x
6.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.0 (incluyendo) | 6.1.119 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.63 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.11.10 (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:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.12:rc7:*:*:*:*:*:* |
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/aa0d42cacf093a6fcca872edc954f6f812926a17
- https://git.kernel.org/stable/c/b8a1d572478b6f239061ee9578b2451bf2f021c2
- https://git.kernel.org/stable/c/b91bb0ce5cd7005b376eac690ec664c1b56372ec
- https://git.kernel.org/stable/c/c3742319d021f5aa3a0a8c828485fee14753f6de
- https://git.kernel.org/stable/c/d28b059ee4779b5102c5da6e929762520510e406
- https://git.kernel.org/stable/c/d4b42f926adcce4e5ec193c714afd9d37bba8e5b
- https://git.kernel.org/stable/c/e6716f4230a8784957273ddd27326264b27b9313