CVE-2026-43315
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
08/05/2026
Última modificación:
15/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
KVM: nSVM: Remove a user-triggerable WARN on nested_svm_load_cr3() succeeding<br />
<br />
Drop the WARN in svm_set_nested_state() on nested_svm_load_cr3() failing<br />
as it is trivially easy to trigger from userspace by modifying CPUID after<br />
loading CR3. E.g. modifying the state restoration selftest like so:<br />
<br />
--- tools/testing/selftests/kvm/x86/state_test.c<br />
+++ tools/testing/selftests/kvm/x86/state_test.c<br />
@@ -280,7 +280,16 @@ int main(int argc, char *argv[])<br />
<br />
/* Restore state in a new VM. */<br />
vcpu = vm_recreate_with_one_vcpu(vm);<br />
- vcpu_load_state(vcpu, state);<br />
+<br />
+ if (stage == 4) {<br />
+ state->sregs.cr3 = BIT(44);<br />
+ vcpu_load_state(vcpu, state);<br />
+<br />
+ vcpu_set_cpuid_property(vcpu, X86_PROPERTY_MAX_PHY_ADDR, 36);<br />
+ __vcpu_nested_state_set(vcpu, &state->nested);<br />
+ } else {<br />
+ vcpu_load_state(vcpu, state);<br />
+ }<br />
<br />
/*<br />
* Restore XSAVE state in a dummy vCPU, first without doing<br />
<br />
generates:<br />
<br />
WARNING: CPU: 30 PID: 938 at arch/x86/kvm/svm/nested.c:1877 svm_set_nested_state+0x34a/0x360 [kvm_amd]<br />
Modules linked in: kvm_amd kvm irqbypass [last unloaded: kvm]<br />
CPU: 30 UID: 1000 PID: 938 Comm: state_test Tainted: G W 6.18.0-rc7-58e10b63777d-next-vm<br />
Tainted: [W]=WARN<br />
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015<br />
RIP: 0010:svm_set_nested_state+0x34a/0x360 [kvm_amd]<br />
Call Trace:<br />
<br />
kvm_arch_vcpu_ioctl+0xf33/0x1700 [kvm]<br />
kvm_vcpu_ioctl+0x4e6/0x8f0 [kvm]<br />
__x64_sys_ioctl+0x8f/0xd0<br />
do_syscall_64+0x61/0xad0<br />
entry_SYSCALL_64_after_hwframe+0x4b/0x53<br />
<br />
Simply delete the WARN instead of trying to prevent userspace from shoving<br />
"illegal" state into CR3. For better or worse, KVM&#39;s ABI allows userspace<br />
to set CPUID after SREGS, and vice versa, and KVM is very permissive when<br />
it comes to guest CPUID. I.e. attempting to enforce the virtual CPU model<br />
when setting CPUID could break userspace. Given that the WARN doesn&#39;t<br />
provide any meaningful protection for KVM or benefit for userspace, simply<br />
drop it even though the odds of breaking userspace are minuscule.<br />
<br />
Opportunistically delete a spurious newline.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.14 (incluyendo) | 5.15.202 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.165 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.128 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.75 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.16 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 6.19.6 (excluyendo) |
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/155ec243ef726f4bc49536fa0bfb565dc011ab17
- https://git.kernel.org/stable/c/580ea57840864d40e019bc13fd26afdc8d510a2f
- https://git.kernel.org/stable/c/969e5e13ff5c18603f21d1f9f64ec9194e141ac0
- https://git.kernel.org/stable/c/ce904c8a5bbe697eae0f7e34b07095bd7a6dee19
- https://git.kernel.org/stable/c/deb8f6dfd31d94b18dbeeaa8c01fbec5fc70fd2b
- https://git.kernel.org/stable/c/ebb2ab4f1c87d6b52776292cf7dc16aea48e95f8
- https://git.kernel.org/stable/c/fc3ba56385d03501eb582e4b86691ba378e556f9



