Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2023-52597)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
06/03/2024
Última modificación:
14/03/2025

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: KVM: s390: configuración fija del registro fpc kvm_arch_vcpu_ioctl_set_fpu() permite configurar el registro de control de punto flotante (fpc) de una CPU invitada. Se prueba la validez del nuevo valor cargándolo temporalmente en el registro fpc. Esto puede conducir a la corrupción del registro fpc del proceso host: si ocurre una interrupción mientras el valor se carga temporalmente en el registro fpc, y dentro del contexto de interrupción se utilizan registros de punto flotante o vectoriales, los registros fp/vx actuales se guardan con save_fpu_regs() suponiendo que pertenecen al espacio del usuario y se cargarán en los registros fp/vx cuando regresen al espacio del usuario. test_fp_ctl() restaura el valor de registro fpc del proceso de host/espacio de usuario original; sin embargo, se descartará al regresar al espacio de usuario. Como resultado, el proceso del host continuará ejecutándose incorrectamente con el valor que se suponía que debía usarse para una CPU invitada. Solucione este problema simplemente quitando la prueba. Hay otra prueba justo antes de ingresar al contexto SIE que manejará valores no válidos. Esto da como resultado un cambio de comportamiento: ahora se aceptarán valores no válidos en lugar de que el ioctl falle con -EINVAL. Esto parece aceptable, dado que lo más probable es que esta interfaz ya no se use y, además, este es el mismo comportamiento implementado con la interfaz asignada en memoria (reemplace los valores no válidos con cero); consulte sync_regs() en kvm-s390.c.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.307 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (incluyendo) 5.4.269 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (incluyendo) 5.10.210 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.149 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.77 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.16 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.7.4 (excluyendo)
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*