CVE-2026-68093: KVM: SVM: Bump asid_generation on CPU online to avoid ASID collision after hotplug

Published Aug 10, 2026
·
Updated

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

KVM: SVM: Bump asidgeneration on CPU online to avoid ASID collision after hotplug

If a vCPU stays scheduled out (or blocked) while the last pCPU it ran on goes through a hotplug cycle (online->offline->online), and the vCPU then resumes execution on the same pCPU, then it is possible for it to run with an ASID that has now been assigned to a different vCPU, resulting in stale TLB translations being used.

svmenablevirtualizationcpu() resets asidgeneration to 1 and sets nextasid to maxasid + 1 on every CPU online event, including hotplug cycles. Because nextasid starts beyond the pool boundary, the first call to newasid() after an online event always wraps the pool, incrementing asidgeneration to 2 and assigning ASIDs starting from minasid.

Consider two vCPUs from different VMs, vCPU-A pinned to CPU-X holding asidgeneration=2 and ASID=N from before the hotplug event:

1. CPU-X goes offline and back online: asidgeneration resets to 1, nextasid = maxasid + 1.

2. One or more vCPUs migrate to CPU-X and call newasid(), wrapping the pool and consuming ASIDs starting from minasid. Eventually vCPU-B from a different VM is assigned asidgeneration=2, ASID=N — the same ASID that vCPU-A held before the hotplug.

3. vCPU-A enters presvmrun() on CPU-X: currentvmcb->cpu is unchanged so the migration branch is skipped. Its saved asidgeneration=2 matches sd->asidgeneration=2, so the generation check silently passes and vCPU-A continues running with ASID=N — the same ASID just freshly assigned to vCPU-B.

Both vCPUs from different VMs now run on CPU-X with the same ASID, causing them to share NPT TLB entries and producing stale translations.

The collision manifests as a KVM internal error (Suberror: 1, emulation failure). The NPT page fault reports a faulting GPA far outside the VM's physical memory range — a sign of stale TLB translations being used. KVM falls back to instruction emulation, which fails on FPU/XSave instructions (XRSTOR, STMXCSR) that the emulator does not implement.

Fix this by incrementing asidgeneration instead of resetting it to 1 in svmenablevirtualizationcpu(). On module load, asidgeneration starts at 0 (memset) and the increment produces 1, identical to the old behaviour. On subsequent hotplug cycles the generation advances beyond any value a vCPU previously observed on this CPU, so the generation check in presvmrun() reliably forces newasid() on every vCPU after every hotplug cycle.

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade KVM: SVM (vmcb/asid_generation) to a version that resolves this vulnerability.

    Patch KVM: SVM: Bump asid_generation on CPU online to avoid ASID collision after hotplug

Event History

Aug 10, 2026
CVE Published
via MITRE·11:58 AM
Data Sourced
via MITRE·11:58 AM
Description
Data Sourced
via NVD·01:19 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-68093?

CVE-2026-68093 has a risk rating of 51, indicating a medium severity vulnerability.

2

How do I fix CVE-2026-68093?

To fix CVE-2026-68093, ensure that you update your Linux kernel to the latest version where this vulnerability has been patched.

3

What systems are affected by CVE-2026-68093?

CVE-2026-68093 affects systems running the Linux kernel with KVM support, particularly when using SVM.

4

What is the impact of CVE-2026-68093?

The impact of CVE-2026-68093 could lead to ASID collisions that may disrupt the normal operation of virtual CPUs.

5

Is there a workaround for CVE-2026-68093?

Currently, there is no known workaround for CVE-2026-68093 other than applying the security update.

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