VDB

CVE-2026-23401

CVE-2026-23401 PUBLISHED CVSS 8.1 HIGH

KVM: x86/mmu: Drop/zap existing present SPTE even when creating an MMIO SPTE

Reported by linux · Published April 1, 2026

In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Drop/zap existing present SPTE even when creating an MMIO SPTE When installing an emulated MMIO SPTE, do so *after* dropping/zapping the existing SPTE (if it's shadow-present). While commit a54aa15c6bda3 was right about it being impossible to convert a shadow-present SPTE to an MMIO SPTE due to a _guest_ write, it failed to account for writes to guest memory that are outside the scope of KVM. E.g. if host userspace modifies a shadowed gPTE to switch from a memslot to emulted MMIO and then the guest hits a relevant page fault, KVM will install the MMIO SPTE without first zapping the shadow-present SPTE. ------------[ cut here ]------------ is_shadow_present_pte(*sptep) WARNING: arch/x86/kvm/mmu/mmu.c:484 at mark_mmio_spte+0xb2/0xc0 [kvm], CPU#0: vmx_ept_stale_r/4292 Modules linked in: kvm_intel kvm irqbypass CPU: 0 UID: 1000 PID: 4292 Comm: vmx_ept_stale_r Not tainted 7.0.0-rc2-eafebd2d2ab0-sink-vm #319 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:mark_mmio_spte+0xb2/0xc0 [kvm] Call Trace: <TASK> mmu_set_spte+0x237/0x440 [kvm] ept_page_fault+0x535/0x7f0 [kvm] kvm_mmu_do_page_fault+0xee/0x1f0 [kvm] kvm_mmu_page_fault+0x8d/0x620 [kvm] vmx_handle_exit+0x18c/0x5a0 [kvm_intel] kvm_arch_vcpu_ioctl_run+0xc55/0x1c20 [kvm] kvm_vcpu_ioctl+0x2d5/0x980 [kvm] __x64_sys_ioctl+0x8a/0xd0 do_syscall_64+0xb5/0x730 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x47fa3f </TASK> ---[ end trace 0000000000000000 ]---

Fixed versions

Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.

PackageEcosystemFixed in
kernelerrata.rockylinux.org6.12.0-211.16.1.el10
kernel-64k-debug-debuginfoerrata.rockylinux.org5.14.0-687.10.1.el9
kernel-debug-coreerrata.rockylinux.org6.12.0-211.16.1.el10, 4.18.0-553.123.1.el8
kernel-64k-debug-moduleserrata.rockylinux.org5.14.0-687.10.1.el9
kernel-tools-libs-develerrata.rockylinux.org5.14.0-687.10.1.el9, 4.18.0-553.123.1.el8
kernel-debug-debuginfoerrata.rockylinux.org6.12.0-211.16.1.el10
bpftool-debuginfoerrata.rockylinux.org0:4.18.0-553.123.1.el8_10.x86_64
kernel-zfcpdumperrata.rockylinux.org6.12.0-211.16.1.el10, 5.14.0-687.10.1.el9
kernel6.18-headersAmazon Linux1:6.18.25-52.107.amzn2023
kernel-debug-devel-matchederrata.rockylinux.org6.12.0-211.16.1.el10
kernel-tools-debuginfoerrata.rockylinux.org5.14.0-687.10.1.el9
kernel-rt-debug-modules-extraerrata.rockylinux.org6.12.0-211.16.1.el10

29 more packages have a fixed version. See every fix in Lookup.

Risk scores

CVSS 3.1
8.1
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Affected products

VendorProductVersions
LinuxLinuxa54aa15c6bda3ca7e2f9e040ba968a1da303e24f, a54aa15c6bda3ca7e2f9e040ba968a1da303e24f, a54aa15c6bda3ca7e2f9e040ba968a1da303e24f
LinuxLinux5.13, 0, 5.15.203
Red HatRed Hat Enterprise Linux 7
amazon:2023kernel6.18-headers0
Red HatRed Hat Enterprise Linux 8
amazon:2023kernel6.18-devel0
Red HatRed Hat Enterprise Linux 6
Red HatRed Hat Enterprise Linux 9.0 Update Services for SAP Solutions0:5.14.0-70.178.1.rt21.250.el9_0
amazon:2023python3-perf6.120
amazon:2023kernel-libbpf-devel0
Red HatRed Hat Enterprise Linux 90:5.14.0-687.10.1.el9_8
amazon:2023kernel6.12-modules-extra0
amazon:2023kernel6.120
amazon:2023kernel6.12-devel0
Red HatRed Hat Enterprise Linux 9
amazon:2023kernel-livepatch-6.18.25-52.1070
amazon:2023bpftool0
Red HatRed Hat Enterprise Linux BaseOS EUS (v.9.6)
Red HatRed Hat Enterprise Linux 8.6 Update Services for SAP Solutions0:4.18.0-372.191.1.el8_6
amazon:2023perf6.120

…and 94 more

Timeline

  • Mar 31, 2026 CVE Published
  • Apr 1, 2026 Security Advisory (54 in total, the first dated here)
  • May 6, 2026 Distribution Patch (55 in total, the first dated here)
  • May 18, 2026 EPSS Score (27 in total, the first dated here)
  • Jun 9, 2026 Coalition ESS Score

Query this with the API

The same record, from the CLI:

vulnetix vdb vuln CVE-2026-23401
vulnetix vdb fixes CVE-2026-23401

Or with curl, using the org id and key from your account page:

curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
  "https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-23401/fixes/registry"

The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart

Look up in the Resolve Platform →
$ Lookup Community · 50/day Open Lookup ›