PT-2026-64508 · Linux · Linux

CVE-2026-64287

·

Published

2026-07-25

·

Updated

2026-07-25

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Bound used lrs when flushing the pKVM hyp vCPU
flush hyp vcpu() copies the host vGIC state into the hyp's private vCPU on every run. The vGIC list register save and restore use used lrs as their loop bound and expect it to stay within the number of implemented list registers. While this is generally the case, flush hyp vcpu() copies vgic v3 verbatim and does not enforce this, so a value provided by the host is used at EL2 to index vgic lr[] and access ICH LR EL2 (host -> EL2).
Fix by clamping used lrs to the number of implemented list registers after the copy, as the trusted path already does in vgic flush lr state(). The number of implemented list registers is constant after init, so it is replicated once from kvm vgic global state.nr lr into hyp gicv3 nr lr rather than read on every entry.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-64287

Affected Products

Linux