Описание
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Clear __hyp_running_vcpu when flushing the pKVM hyp vCPU
flush_hyp_vcpu() copies the host vCPU context into the hyp's private vCPU on every run. ctxt_to_vcpu() expects a guest context to have a NULL __hyp_running_vcpu, which is only ever set on the host context, so that it resolves the vCPU via container_of(). While this is generally the case, flush_hyp_vcpu() copies the context verbatim and does not enforce this, so a value provided by the host is dereferenced at EL2 (host -> EL2).
Fix by clearing __hyp_running_vcpu after the copy.
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Clear __hyp_running_vcpu when flushing the pKVM hyp vCPU
flush_hyp_vcpu() copies the host vCPU context into the hyp's private vCPU on every run. ctxt_to_vcpu() expects a guest context to have a NULL __hyp_running_vcpu, which is only ever set on the host context, so that it resolves the vCPU via container_of(). While this is generally the case, flush_hyp_vcpu() copies the context verbatim and does not enforce this, so a value provided by the host is dereferenced at EL2 (host -> EL2).
Fix by clearing __hyp_running_vcpu after the copy.
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2026-64286
- https://git.kernel.org/stable/c/477145860dba4c30f0b4e36f02f4c5291c1c888b
- https://git.kernel.org/stable/c/6bea2f8becdb20d34378493c3b77a9b9cf8c6cfa
- https://git.kernel.org/stable/c/d4f4d61715d1061ba83b88196a3605662be30750
- https://git.kernel.org/stable/c/dfaef40d8a1533940fc1af788d70fce07362b4ce
- https://git.kernel.org/stable/c/e8042f6e1d7befb2fb6b10a75918642bcd0acf9a
Связанные уязвимости
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Clear __hyp_running_vcpu when flushing the pKVM hyp vCPU flush_hyp_vcpu() copies the host vCPU context into the hyp's private vCPU on every run. ctxt_to_vcpu() expects a guest context to have a NULL __hyp_running_vcpu, which is only ever set on the host context, so that it resolves the vCPU via container_of(). While this is generally the case, flush_hyp_vcpu() copies the context verbatim and does not enforce this, so a value provided by the host is dereferenced at EL2 (host -> EL2). Fix by clearing __hyp_running_vcpu after the copy.
A flaw was found in the Linux kernel's Kernel-based Virtual Machine (KVM) for arm64 architecture. The `flush_hyp_vcpu()` function, responsible for copying the host virtual CPU (vCPU) context, does not properly clear a specific internal pointer (`__hyp_running_vcpu`). This oversight allows a host to provide a value that is then improperly accessed (dereferenced) at Exception Level 2 (EL2), potentially leading to arbitrary memory access within the hypervisor. This could allow a malicious host to compromise the integrity or availability of the hypervisor.
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Clear __hyp_running_vcpu when flushing the pKVM hyp vCPU flush_hyp_vcpu() copies the host vCPU context into the hyp's private vCPU on every run. ctxt_to_vcpu() expects a guest context to have a NULL __hyp_running_vcpu, which is only ever set on the host context, so that it resolves the vCPU via container_of(). While this is generally the case, flush_hyp_vcpu() copies the context verbatim and does not enforce this, so a value provided by the host is dereferenced at EL2 (host -> EL2). Fix by clearing __hyp_running_vcpu after the copy.
In the Linux kernel, the following vulnerability has been resolved: K ...