Vulnerabilidad en kernel de Linux (CVE-2025-38508)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
16/08/2025
Última modificación:
18/08/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: x86/sev: Usar TSC_FACTOR para el cálculo de frecuencia de Secure TSC. Al usar Secure TSC, el MSR GUEST_TSC_FREQ informa una frecuencia basada en la frecuencia P0 nominal, que se desvía ligeramente (normalmente ~0,2 %) de la frecuencia media real de TSC debido a los parámetros de reloj. Con el tiempo de actividad prolongado de la máquina virtual, esta discrepancia se acumula, causando un sesgo de reloj entre el hipervisor y una máquina virtual SEV-SNP, lo que lleva a interrupciones tempranas del temporizador según lo percibe el invitado. El kernel invitado se basa en la frecuencia nominal informada para el control de tiempo basado en TSC, mientras que la frecuencia real establecida durante SNP_LAUNCH_START puede diferir. Esta falta de coincidencia resulta en cálculos de tiempo inexactos, lo que hace que el invitado perciba que los temporizadores hr se activan antes de lo esperado. Utilice el factor TSC_FACTOR de la página de secretos del firmware SEV (consulte "Formato de la página de secretos" en la especificación ABI del firmware SNP) para calcular la frecuencia media de TSC, lo que garantiza una sincronización precisa y mitiga el desfase de reloj en las máquinas virtuales SEV-SNP. Utilice early_ioremap_encrypted() para mapear la página de secretos, ya que ioremap_encrypted() utiliza kmalloc(), que no está disponible durante la inicialización temprana de TSC y provoca un pánico. [bp: Eliminar la variable ficticia: https://lore.kernel.org/r/20250630192726.GBaGLlHl84xIopx4Pt@fat_crate.local]