CVE-2024-55881

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Play nice with protected guests in complete_hypercall_exit() Use is_64_bit_hypercall() instead of is_64_bit_mode() to detect a 64-bit hypercall when completing said hypercall. For guests with protected state, e.g. SEV-ES and SEV-SNP, KVM must assume the hypercall was made in 64-bit mode as the vCPU state needed to detect 64-bit mode is unavailable. Hacking the sev_smoke_test selftest to generate a KVM_HC_MAP_GPA_RANGE hypercall via VMGEXIT trips the WARN: ------------[ cut here ]------------ WARNING: CPU: 273 PID: 326626 at arch/x86/kvm/x86.h:180 complete_hypercall_exit+0x44/0xe0 [kvm] Modules linked in: kvm_amd kvm ... [last unloaded: kvm] CPU: 273 UID: 0 PID: 326626 Comm: sev_smoke_test Not tainted 6.12.0-smp--392e932fa0f3-feat #470 Hardware name: Google Astoria/astoria, BIOS 0.20240617.0-0 06/17/2024 RIP: 0010:complete_hypercall_exit+0x44/0xe0 [kvm] Call Trace: <TASK> kvm_arch_vcpu_ioctl_run+0x2400/0x2720 [kvm] kvm_vcpu_ioctl+0x54f/0x630 [kvm] __se_sys_ioctl+0x6b/0xc0 do_syscall_64+0x83/0x160 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> ---[ end trace 0000000000000000 ]---
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc8:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*

History

16 Oct 2025, 17:03

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc8:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.16:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*
First Time Linux
Linux linux Kernel
CWE NVD-CWE-noinfo
References () https://git.kernel.org/stable/c/0840d360a8909c722fb62459f42836afe32ededb - () https://git.kernel.org/stable/c/0840d360a8909c722fb62459f42836afe32ededb - Patch
References () https://git.kernel.org/stable/c/22b5c2acd65dbe949032f619d4758a35a82fffc3 - () https://git.kernel.org/stable/c/22b5c2acd65dbe949032f619d4758a35a82fffc3 - Patch
References () https://git.kernel.org/stable/c/3d2634ec0d1dbe8f4b511cf5261f327c6a76f4b6 - () https://git.kernel.org/stable/c/3d2634ec0d1dbe8f4b511cf5261f327c6a76f4b6 - Patch
References () https://git.kernel.org/stable/c/7ed4db315094963de0678a8adfd43c46471b9349 - () https://git.kernel.org/stable/c/7ed4db315094963de0678a8adfd43c46471b9349 - Patch
References () https://git.kernel.org/stable/c/9b42d1e8e4fe9dc631162c04caa69b0d1860b0f0 - () https://git.kernel.org/stable/c/9b42d1e8e4fe9dc631162c04caa69b0d1860b0f0 - Patch
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: KVM: x86: Juega bien con invitados protegidos en complete_hypercall_exit() Usa is_64_bit_hypercall() en lugar de is_64_bit_mode() para detectar una hiperllamada de 64 bits al completar dicha hiperllamada. Para invitados con estado protegido, por ejemplo, SEV-ES y SEV-SNP, KVM debe asumir que la hiperllamada se realizó en modo de 64 bits, ya que el estado de vCPU necesario para detectar el modo de 64 bits no está disponible. Al piratear la autoprueba sev_smoke_test para generar una hiperllamada KVM_HC_MAP_GPA_RANGE a través de VMGEXIT se activa el WARN: ------------[ cortar aquí ]------------ ADVERTENCIA: CPU: 273 PID: 326626 en arch/x86/kvm/x86.h:180 complete_hypercall_exit+0x44/0xe0 [kvm] Módulos vinculados en: kvm_amd kvm ... [última descarga: kvm] CPU: 273 UID: 0 PID: 326626 Comm: sev_smoke_test No contaminado 6.12.0-smp--392e932fa0f3-feat #470 Nombre del hardware: Google Astoria/astoria, BIOS 0.20240617.0-0 17/06/2024 RIP: 0010:completar_hiperllamada_salida+0x44/0xe0 [kvm] Seguimiento de llamadas: kvm_arch_vcpu_ioctl_run+0x2400/0x2720 [kvm] kvm_vcpu_ioctl+0x54f/0x630 [kvm] __se_sys_ioctl+0x6b/0xc0 do_syscall_64+0x83/0x160 entry_SYSCALL_64_after_hwframe+0x76/0x7e ---[fin del seguimiento 0000000000000000 ]---

11 Jan 2025, 13:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-01-11 13:15

Updated : 2025-10-16 17:03


NVD link : CVE-2024-55881

Mitre link : CVE-2024-55881

CVE.ORG link : CVE-2024-55881


JSON object : View

Products Affected

linux

  • linux_kernel