CVE-2026-89932: KVM: nVMX: Always flush vpid02 on first use

Published Sep 16, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

KVM: nVMX: Always flush vpid02 on first use

Make sure vpid02 is always flushed on first use by setting lastvpid=0 when allocating vpid02. nestedvmxtransitiontlbflush() will always detect a VPID change on first VM-Enter after VMXON, because VPID=0 in vmcs12 is not allowed if L1 enables VPID.

This avoids using stale TLB entries from a previous lifetime of the VPID, that might have been associated with a different vCPU (or a completely different VM).

Note that lastvpid is already being initialized as 0 when the vCPU is created, but it is not reset when vpid02 is freed on VMXOFF. Hence, the problem can only occur if L1 does VMXOFF -> VMXON, runs an L2, and KVM happens to reuse a VPID that has TLB entries on the physical CPU.

Affected Software

1 affected component
KVM Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Ensure vpid02 is always flushed on first use by setting last_vpid=0 (last_vpid is initialized as 0 when the vCPU is created, but must be reset when vpid02 is freed on VMXOFF).

    Linux kernel KVM (nVMX) last_vpid = 0

Event History

Sep 16, 2026
CVE Published
via MITRE·10:32 AM
Data Sourced
via MITRE·10:32 AM
Description

Frequently Asked Questions

1

What conditions are required for this issue to occur?

The issue requires nested VMX use: an L1 guest must perform VMXOFF followed by VMXON and then run an L2 guest. KVM must also reuse a VPID whose stale TLB entries remain on the physical CPU.

2

What data could be affected if the condition is triggered?

The L2 guest can use stale TLB entries from a prior lifetime of the reused VPID. Those entries may have belonged to a different vCPU or an entirely different VM.

3

Are systems that do not use nested virtualization exposed?

The described path depends on L1 performing VMXOFF and VMXON before running L2, so the issue applies to nested VMX operation. The provided information does not describe an impact path for systems that do not run an L2 guest.

4

How does the fix prevent stale translations from being used?

When vpid02 is allocated, the fix resets last_vpid to 0. This makes the first VM-Enter after VMXON detect a VPID change and flush vpid02 before it can use stale TLB entries.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203