CVE-2026-64287: KVM: arm64: Bound used_lrs when flushing the pKVM hyp vCPU
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Bound usedlrs when flushing the pKVM hyp vCPU
flushhypvcpu() copies the host vGIC state into the hyp's private vCPU on every run. The vGIC list register save and restore use usedlrs as their loop bound and expect it to stay within the number of implemented list registers. While this is generally the case, flushhypvcpu() copies vgicv3 verbatim and does not enforce this, so a value provided by the host is used at EL2 to index vgiclr[] and access ICHLR<n>EL2 (host -> EL2).
Fix by clamping usedlrs to the number of implemented list registers after the copy, as the trusted path already does in vgicflushlrstate(). The number of implemented list registers is constant after init, so it is replicated once from kvmvgicglobalstate.nrlr into hypgicv3nrlr rather than read on every entry.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.145.2-1 - Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.14-1 - Upgrade
Upgrade
debian/linux-6.12to a version that resolves this vulnerability.Fixed in 6.12.113-1~deb12u1 - Compensating control
In flush_hyp_vcpu(), clamp used_lrs to the number of implemented list registers after copying the host vGIC state, matching the trusted-path behavior in vgic_flush_lr_state().
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64287?
CVE-2026-64287 has a severity rating of high with a CVSS score of 8.2.
How do I fix CVE-2026-64287?
To fix CVE-2026-64287, update to the patched version of the Linux kernel as indicated in the security advisory.
What systems are affected by CVE-2026-64287?
CVE-2026-64287 affects the Linux kernel and specifically the Microsoft azl3 kernel version 6.6.144.1-1.
What type of vulnerability is CVE-2026-64287?
CVE-2026-64287 is a vulnerability in the KVM module of the Linux kernel related to bounds checking in vCPU state management.
Is CVE-2026-64287 exploitable remotely?
CVE-2026-64287 may be exploited by a local attacker with elevated privileges on the affected system.