CVE-2023-53663

KVM: nSVM: Check instead of asserting on nested TSC scaling support

published October 7, 2025

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

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

KVM: nSVM: Check instead of asserting on nested TSC scaling support

Check for nested TSC scaling support on nested SVM VMRUN instead of

asserting that TSC scaling is exposed to L1 if L1's MSR_AMD64_TSC_RATIO

has diverged from KVM's default. Userspace can trigger the WARN at will

by writing the MSR and then updating guest CPUID to hide the feature

(modifying guest CPUID is allowed anytime before KVM_RUN). E.g. hacking

KVM's state_test selftest to do

vcpu_set_msr(vcpu, MSR_AMD64_TSC_RATIO, 0);

vcpu_clear_cpuid_feature(vcpu, X86_FEATURE_TSCRATEMSR);

after restoring state in a new VM+vCPU yields an endless supply of:

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

WARNING: CPU: 164 PID: 62565 at arch/x86/kvm/svm/nested.c:699

nested_vmcb02_prepare_control+0x3d6/0x3f0 [kvm_amd]

Call Trace:

<TASK>

enter_svm_guest_mode+0x114/0x560 [kvm_amd]

nested_svm_vmrun+0x260/0x330 [kvm_amd]

vmrun_interception+0x29/0x30 [kvm_amd]

svm_invoke_exit_handler+0x35/0x100 [kvm_amd]

svm_handle_exit+0xe7/0x180 [kvm_amd]

kvm_arch_vcpu_ioctl_run+0x1eab/0x2570 [kvm]

kvm_vcpu_ioctl+0x4c9/0x5b0 [kvm]

__se_sys_ioctl+0x7a/0xc0

__x64_sys_ioctl+0x21/0x30

do_syscall_64+0x41/0x90

entry_SYSCALL_64_after_hwframe+0x63/0xcd

RIP: 0033:0x45ca1b

Note, the nested #VMEXIT path has the same flaw, but needs a different

fix and will be handled separately.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00143 · 3.3th percentile
Published
2025-10-07T15:21Z
EPSS history
Timeline
  • 07 OCT 15:21Z
    KVM: nSVM: Check instead of asserting on nested TSC scaling support
    cvelistv5