In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Bound used_lrs when flushing the pKVM hyp vCPU flush_hyp_vcpu()… (CVE-2026-64287)
A vulnerability in the Linux kernel's KVM implementation for arm64 was resolved that involved improper bounding of the used_lrs value when flushing the pKVM hypervisor vCPU state. The flush_hyp_vcpu() function copied the host vGIC state without enforcing limits on used_lrs, potentially allowing out-of-bounds access to the virtual GIC list registers. The fix clamps used_lrs to the number of implemented list registers to prevent invalid indexing.
AI Analysis
Technical Summary
The vulnerability in the Linux kernel KVM arm64 code relates to the flush_hyp_vcpu() function, which copies the host virtual Generic Interrupt Controller (vGIC) state into the hypervisor's private vCPU state on each run. The vGIC list register save and restore operations rely on used_lrs as a loop bound, which must not exceed the number of implemented list registers. However, flush_hyp_vcpu() copied the vgic_v3 state verbatim from the host without clamping used_lrs, allowing a host-provided value to be used at EL2 to index the vgic_lr[] array and access ICH_LR<n>_EL2 registers potentially out of bounds. The patch fixes this by clamping used_lrs to the constant number of implemented list registers after copying, mirroring the trusted path behavior in vgic_flush_lr_state().
Potential Impact
This vulnerability could allow improper indexing into the virtual GIC list registers at EL2 privilege level, which may lead to undefined behavior or potential security issues related to hypervisor state corruption or privilege escalation. However, no known exploits in the wild have been reported. The impact is limited to systems running the affected Linux kernel with KVM on arm64 architecture.
Mitigation Recommendations
A fix has been implemented that clamps the used_lrs value to the number of implemented list registers after copying the vGIC state in flush_hyp_vcpu(). Users should apply the official Linux kernel updates that include this patch once available. Patch status is not yet confirmed from the vendor advisory; check the Linux kernel mailing lists or vendor advisories for the current remediation guidance.
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Bound used_lrs when flushing the pKVM hyp vCPU flush_hyp_vcpu()… (CVE-2026-64287)
Description
A vulnerability in the Linux kernel's KVM implementation for arm64 was resolved that involved improper bounding of the used_lrs value when flushing the pKVM hypervisor vCPU state. The flush_hyp_vcpu() function copied the host vGIC state without enforcing limits on used_lrs, potentially allowing out-of-bounds access to the virtual GIC list registers. The fix clamps used_lrs to the number of implemented list registers to prevent invalid indexing.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in the Linux kernel KVM arm64 code relates to the flush_hyp_vcpu() function, which copies the host virtual Generic Interrupt Controller (vGIC) state into the hypervisor's private vCPU state on each run. The vGIC list register save and restore operations rely on used_lrs as a loop bound, which must not exceed the number of implemented list registers. However, flush_hyp_vcpu() copied the vgic_v3 state verbatim from the host without clamping used_lrs, allowing a host-provided value to be used at EL2 to index the vgic_lr[] array and access ICH_LR<n>_EL2 registers potentially out of bounds. The patch fixes this by clamping used_lrs to the constant number of implemented list registers after copying, mirroring the trusted path behavior in vgic_flush_lr_state().
Potential Impact
This vulnerability could allow improper indexing into the virtual GIC list registers at EL2 privilege level, which may lead to undefined behavior or potential security issues related to hypervisor state corruption or privilege escalation. However, no known exploits in the wild have been reported. The impact is limited to systems running the affected Linux kernel with KVM on arm64 architecture.
Mitigation Recommendations
A fix has been implemented that clamps the used_lrs value to the number of implemented list registers after copying the vGIC state in flush_hyp_vcpu(). Users should apply the official Linux kernel updates that include this patch once available. Patch status is not yet confirmed from the vendor advisory; check the Linux kernel mailing lists or vendor advisories for the current remediation guidance.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-hfcp-qwvj-9247
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-64287"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a65420e9c2644c7f8086328
Added to database: 07/25/2026, 23:09:02 UTC
Last enriched: 07/25/2026, 23:39:39 UTC
Last updated: 07/26/2026, 05:07:24 UTC
Views: 5
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.