CVE-2022-50224

KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT

published June 18, 2025

CVSS
—
EPSS
0%
Percentile
9.3
In the wild
Unconfirmed
What it is

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

KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT

Treat the NX bit as valid when using NPT, as KVM will set the NX bit when

the NX huge page mitigation is enabled (mindblowing) and trigger the WARN

that fires on reserved SPTE bits being set.

KVM has required NX support for SVM since commit b26a71a1a5b9 ("KVM: SVM:

Refuse to load kvm_amd if NX support is not available") for exactly this

reason, but apparently it never occurred to anyone to actually test NPT

with the mitigation enabled.

------------[ cut here ]------------

spte = 0x800000018a600ee7, level = 2, rsvd bits = 0x800f0000001fe000

WARNING: CPU: 152 PID: 15966 at arch/x86/kvm/mmu/spte.c:215 make_spte+0x327/0x340 [kvm]

Hardware name: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 10.48.0 01/27/2022

RIP: 0010:make_spte+0x327/0x340 [kvm]

Call Trace:

<TASK>

tdp_mmu_map_handle_target_level+0xc3/0x230 [kvm]

kvm_tdp_mmu_map+0x343/0x3b0 [kvm]

direct_page_fault+0x1ae/0x2a0 [kvm]

kvm_tdp_page_fault+0x7d/0x90 [kvm]

kvm_mmu_page_fault+0xfb/0x2e0 [kvm]

npf_interception+0x55/0x90 [kvm_amd]

svm_invoke_exit_handler+0x31/0xf0 [kvm_amd]

svm_handle_exit+0xf6/0x1d0 [kvm_amd]

vcpu_enter_guest+0xb6d/0xee0 [kvm]

? kvm_pmu_trigger_event+0x6d/0x230 [kvm]

vcpu_run+0x65/0x2c0 [kvm]

kvm_arch_vcpu_ioctl_run+0x355/0x610 [kvm]

kvm_vcpu_ioctl+0x551/0x610 [kvm]

__se_sys_ioctl+0x77/0xc0

__x64_sys_ioctl+0x1d/0x20

do_syscall_64+0x44/0xa0

entry_SYSCALL_64_after_hwframe+0x46/0xb0

</TASK>

---[ end trace 0000000000000000 ]---

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00200 · 9.3th percentile
Published
2025-06-18T11:03Z
EPSS history
Timeline
  • 18 JUN 11:03Z
    KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT
    cvelistv5