GPU VulnDB

Database/Kernel, userspace & hypervisor

KVM arm64: negative stage-1 walk level mis-sizes VNCR TLB invalidation to zero

CVSS 9.3CVE-2026-89775Kernel, userspace & hypervisorcurated

Impact

Sizing a TLB invalidation for a stage-1 VNCR mapping combines the granule size with the walk level, but when the guest's stage-1 MMU is off the level is the sentinel -127, which pgshift_level_to_ttl() casts to u8 and reads only the bottom two bits - yielding an invalidation size of zero. Stale VNCR TLB entries then survive an invalidation the guest believes it performed, so a nested guest can keep using translations that should have been torn down. CVSS is 9.3 with a changed scope, i.e. the kernel CNA treats this as reachable across the guest/host boundary on arm64 hosts running nested virtualization. This only affects arm64 hosts with NV enabled; x86 fleets and arm64 hosts not running nested guests are not exposed.

Who can reach it

A guest on an arm64 KVM host with nested virtualization enabled, running with its stage-1 MMU disabled and issuing TLB invalidations. No host credentials required.

What to do

Apply the stable-kernel update with the three listed commits and reboot affected arm64 KVM hosts, draining or migrating guests first. As an interim mitigation, do not enable nested virtualization on arm64 hosts - the affected code is only reached on the NV path. The record names no fixed distribution version.

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.