CVE-2026-68428: KVM: x86/mmu: Fix use-after-free on vendor module reload

Published Aug 10, 2026
·
Updated

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

KVM: x86/mmu: Fix use-after-free on vendor module reload

mmudestroycaches() destroys ptelistdesccache and mmupageheadercache, but leaves both pointers unchanged. The pointers live in kvm.ko, and therefore survive when a vendor module is unloaded while kvm.ko remains loaded.

If creation of ptelistdesccache fails during a subsequent vendor module load, its assignment sets ptelistdesccache to NULL and the error path calls mmudestroycaches(). mmupageheadercache still points to the cache destroyed during the preceding vendor module unload. Passing that stale pointer to kmemcachedestroy() causes a slab use-after-free.

Reproduce the issue on a v7.1.3 kernel with CONFIGKASAN=y, CONFIGKASANGENERIC=y, CONFIGKVM=m, and CONFIGKVMINTEL=m. A one-shot test hook forces ptelistdesccache to NULL on the second invocation of kvmmmuvendormoduleinit():

1. Load kvm.ko and kvm-intel.ko, creating both caches. 2. Unload only kvmintel, leaving kvm.ko loaded. 3. Reload kvmintel and force initialization through the -ENOMEM path.

KASAN reports:

BUG: KASAN: slab-use-after-free in kvmmmuvendormoduleinit+0x5b/0x170 [kvm] ... kmemcachedestroy+0x21/0x1d0 kvmmmuvendormoduleinit+0x5b/0x170 [kvm] ... Allocated by task 16817: kmemcachecreateargs+0x12c/0x3b0 kmemcachecreate.constprop.0+0xb6/0xf0 [kvm] kvmmmuvendormoduleinit+0x13b/0x170 [kvm] ... Freed by task 16820: kmemcachedestroy+0x117/0x1d0 kvmmmuvendormoduleexit+0x21/0x30 [kvm]

Clear both pointers immediately after destroying their caches so that the stored state reflects the caches' lifetime and repeated cleanup is safe.

With the fix applied, the same injected vendor module reload fails with -ENOMEM as expected and produces no KASAN report.

Affected Software

1 affected component
Linux Kernel=v7.1.3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Linux kernel (KVM x86/mmu) to a version that resolves this vulnerability.

    Fixed in v7.1.3
  2. Configuration

    Ensure CONFIG_KASAN=y when reproducing/testing, since the vulnerability is observable under KASAN.

    Linux kernel (KASAN/CONFIG_KVM) CONFIG_KASAN = y
  3. Configuration

    Implement the fix: clear both pointers immediately after destroying their caches in mmu_destroy_caches() so kvm_mmu_vendor_module_exit() does not later call kmem_cache_destroy() with stale pointers.

    KVM x86/mmu vendor module reload logic pte_list_desc_cache/mmu_page_header_cache destruction behavior = Clear both pointers immediately after destroying their caches

Event History

Aug 10, 2026
CVE Published
via MITRE·12:04 PM
Data Sourced
via MITRE·12:04 PM
Description
Data Sourced
via NVD·01:20 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-68428?

CVE-2026-68428 has a risk rating of 44, indicating a moderate level of concern.

2

How do I fix CVE-2026-68428?

To mitigate CVE-2026-68428, ensure that you update to the latest patched version of the Linux kernel.

3

What causes CVE-2026-68428?

CVE-2026-68428 is caused by a use-after-free vulnerability during the vendor module reload process in the Linux kernel.

4

Which software is impacted by CVE-2026-68428?

The vulnerability CVE-2026-68428 affects the Linux Kernel.

5

Is CVE-2026-68428 publicly known?

Yes, CVE-2026-68428 was published on August 10, 2026.

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