CVE-2026-23425
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
03/04/2026
Última modificación:
23/04/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
KVM: arm64: Fix ID register initialization for non-protected pKVM guests<br />
<br />
In protected mode, the hypervisor maintains a separate instance of<br />
the `kvm` structure for each VM. For non-protected VMs, this structure is<br />
initialized from the host&#39;s `kvm` state.<br />
<br />
Currently, `pkvm_init_features_from_host()` copies the<br />
`KVM_ARCH_FLAG_ID_REGS_INITIALIZED` flag from the host without the<br />
underlying `id_regs` data being initialized. This results in the<br />
hypervisor seeing the flag as set while the ID registers remain zeroed.<br />
<br />
Consequently, `kvm_has_feat()` checks at EL2 fail (return 0) for<br />
non-protected VMs. This breaks logic that relies on feature detection,<br />
such as `ctxt_has_tcrx()` for TCR2_EL1 support. As a result, certain<br />
system registers (e.g., TCR2_EL1, PIR_EL1, POR_EL1) are not<br />
saved/restored during the world switch, which could lead to state<br />
corruption.<br />
<br />
Fix this by explicitly copying the ID registers from the host `kvm` to<br />
the hypervisor `kvm` for non-protected VMs during initialization, since<br />
we trust the host with its non-protected guests&#39; features. Also ensure<br />
`KVM_ARCH_FLAG_ID_REGS_INITIALIZED` is cleared initially in<br />
`pkvm_init_features_from_host` so that `vm_copy_id_regs` can properly<br />
initialize them and set the flag once done.
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:*:*:*:*:*:*:*:* | 6.14.1 (incluyendo) | 6.18.17 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 6.19.7 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:6.14:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



