GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel pKVM on arm64: unbounded host-supplied vGIC used_lrs indexes list registers at EL2

CVSS 8.2CVE-2026-64287Kernel, userspace & hypervisorcurated

Impact

A second flaw in the same pKVM context-flush path, distinct from CVE-2026-64286: flush_hyp_vcpu() copied the host's vgic_v3 state verbatim, so a host-controlled used_lrs value was used at EL2 as the loop bound for saving and restoring the GIC list registers. That indexes vgic_lr[] and ICH_LR<n>_EL2 past the number of implemented list registers, giving a malicious host out-of-bounds access inside the hypervisor. As with the sibling bug, the consequence is a host-to-EL2 escalation that breaks the isolation protected KVM is deployed for, which matters on arm64 accelerator hosts running confidential guests and not at all on hosts without pKVM. The fix clamps used_lrs to the implemented count after the copy, mirroring what the trusted path in vgic_flush_lr_state() already did.

Who can reach it

Local, high privilege: the host kernel (EL1) attacking EL2 on an arm64 system running protected KVM. Not reachable from a guest or from an unprivileged host user, and not remote.

What to do

Update to a stable kernel carrying the clamp (five commits linked in the record) and reboot each affected arm64 host. Ship it together with CVE-2026-64286, which lives in the same function, so one drain and reboot covers both. No fixed version numbers are given in the record.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.