Linux Kernel hasta 5.10.37/5.11.21/5.12.4 nVMX vmx_get_nested_state/vmx_set_nested_state escalada de privilegios

CVSS Puntuación meta temporalPrecio actual del exploit (≈)Puntuación de interés CTI
6.5$0-$5k0.00

Resumeninformación

Una vulnerabilidad fue encontrada en Linux Kernel hasta 5.10.37/5.11.21/5.12.4 y clasificada como crítica. Resulta afectada una función desconocida dentro del componente nVMX. Por la manipulación de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. La vulnerabilidad es identificada como CVE-2021-46978. No hay ningún exploit disponible. El mejor modo sugerido para mitigar el problema es actualizar a la última versión.

Detallesinformación

Una vulnerabilidad fue encontrada en Linux Kernel hasta 5.10.37/5.11.21/5.12.4 (Operating System) y clasificada como crítica. La función vmx_get_nested_state/vmx_set_nested_state del componente nVMX es afectada por esta vulnerabilidad. Mediante la manipulación de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Los efectos exactos de un ataque exitoso no son conocidos. El resumen de CVE es:

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: KVM: nVMX: siempre intente asignar eVMCS después de la migración Cuando se utiliza VMCS iluminado y el estado anidado se migra con vmx_get_nested_state()/vmx_set_nested_state() KVM no puede asignar evmcs página de inmediato: evmcs gpa no es 'struct kvm_vmx_nested_state_hdr' y no podemos leerlo desde la página de asistencia de VP porque el espacio de usuario puede decidir restaurar HV_X64_MSR_VP_ASSIST_PAGE después de restaurar el estado anidado (y QEMU, por ejemplo, hace exactamente eso). Para asegurarse de que eVMCS esté asignado, /vmx_set_nested_state() genera la solicitud KVM_REQ_GET_NESTED_STATE_PAGES. el commit f2c7ef3ba955 ("KVM: nSVM: cancelar KVM_REQ_GET_NESTED_STATE_PAGES en vmexit anidado") agregó la limpieza KVM_REQ_GET_NESTED_STATE_PAGES a nested_vmx_vmexit() para asegurarse de que el mapa de bits del permiso MSR no se cambie cuando ocurre una salida inmediata de L2 a L1 justo después de la migración (causada por un evento pendiente, Por ejemplo). Desafortunadamente, en exactamente la misma situación todavía necesitamos tener eVMCS mapeado para que nested_sync_vmcs12_to_shadow() refleje los cambios en VMCS12 a eVMCS. Como curita, restaure nested_get_evmcs_page() al borrar KVM_REQ_GET_NESTED_STATE_PAGES en nested_vmx_vmexit(). La "solución" está lejos de ser ideal, ya que no podemos propagar fácilmente posibles fallas e incluso si pudiéramos, lo más probable es que ya sea demasiado tarde para hacerlo. Toda la idea 'KVM_REQ_GET_NESTED_STATE_PAGES' para mapear eVMCS después de la migración parece ser frágil ya que nos desviamos demasiado de la ruta 'nativa' cuando la carga de vmptr ocurre en vmx_set_nested_state().

La vulnerabilidad fue publicada el 2024-02-28 (confirmado). El advisory puede ser descargado de git.kernel.org. La vulnerabilidad es identificada como CVE-2021-46978. Detalles técnicos son conocidos, pero no hay ningún exploit público disponible.

Una actualización a la versión 5.10.38, 5.11.22, 5.12.5 o 5.13 elimina esta vulnerabilidad. Aplicando el parche c8bf64e3fb77/200a45649ab7/bd0e8455b85b/f5c7e8425f18 es posible eliminar el problema. El parche puede ser descargado de git.kernel.org. El mejor modo sugerido para mitigar el problema es Actualización.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Productoinformación

Escribe

Proveedor

Nombre

Versión

Licencia

Sitio web

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 6.6
VulDB Puntuación meta temporal: 6.5

VulDB Puntuación base: 5.5
VulDB Puntuación temporal: 5.3
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CNA Puntuación base: 7.8
CNA Vector: 🔍

CVSSv2información

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplejidadAutenticaciónConfidencialidadIntegridadDisponibilidad
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍

Explotacióninformación

Clase: Escalada de privilegios
CWE: CWE-275 / CWE-266
CAPEC: 🔍
ATT&CK: 🔍

Físico: En parte
Local: Sí
Remoto: En parte

Disponibilidad: 🔍
Estado: No está definido

EPSS Score: 🔍
EPSS Percentile: 🔍

Predicción de precios: 🔍
Estimación del precio actual: 🔍

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Inteligencia de amenazasinformación

Interés: 🔍
Actores activos: 🔍
Grupos APT activos: 🔍

Contramedidasinformación

Recomendación: Actualización
Estado: 🔍

Hora de 0 días: 🔍

Actualización: Kernel 5.10.38/5.11.22/5.12.5/5.13
Parche: c8bf64e3fb77/200a45649ab7/bd0e8455b85b/f5c7e8425f18

Línea de tiempoinformación

2024-02-27 🔍
2024-02-28 +1 días 🔍
2024-02-28 +0 días 🔍
2024-11-04 +250 días 🔍

Fuentesinformación

Proveedor: kernel.org

Aviso: git.kernel.org
Estado: Confirmado

CVE: CVE-2021-46978 (🔍)
GCVE (CVE): GCVE-0-2021-46978
GCVE (VulDB): GCVE-100-255019

Artículoinformación

Fecha de creación: 2024-02-28 10:48
Actualizado: 2024-11-04 21:06
Cambios: 2024-02-28 10:48 (44), 2024-11-04 21:06 (27)
Completo: 🔍
Cache ID: 216::103

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Discusión

Sin comentarios aún. Idiomas: es + pt + en.

Por favor, inicie sesión para comentar.

Want to know what is going to be exploited?

We predict KEV entries!