---
id: CVE-2023-53663
title: 'KVM: nSVM: Check instead of asserting on nested TSC scaling support'
summary: |-
  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 e…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 5228eb96a4875f8cf5d61d486e3795ac14df8904 <
    6c1ecfea1daf6e75c46e295aad99dfbafd878897
  - >-
    Linux >= 5228eb96a4875f8cf5d61d486e3795ac14df8904 <
    02b24270568f65dd607c4a848512dc8055b4491b
  - >-
    Linux >= 5228eb96a4875f8cf5d61d486e3795ac14df8904 <
    7cafe9b8e22bb3d77f130c461aedf6868c4aaf58
  - Linux 5.16
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:26:37.975830Z'
published: '2025-10-07'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:31:19.764Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2023-53663'
references:
  - url: 'https://git.kernel.org/stable/c/6c1ecfea1daf6e75c46e295aad99dfbafd878897'
  - url: 'https://git.kernel.org/stable/c/02b24270568f65dd607c4a848512dc8055b4491b'
  - url: 'https://git.kernel.org/stable/c/7cafe9b8e22bb3d77f130c461aedf6868c4aaf58'
tags:
  - cve.org
epss: 0.00146
epssPercentile: 0.03896
ingestedAt: '2026-11-05T22:38:31.823Z'
---

## Overview

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.

## Affected

- `Linux >= 5228eb96a4875f8cf5d61d486e3795ac14df8904 < 6c1ecfea1daf6e75c46e295aad99dfbafd878897`
- `Linux >= 5228eb96a4875f8cf5d61d486e3795ac14df8904 < 02b24270568f65dd607c4a848512dc8055b4491b`
- `Linux >= 5228eb96a4875f8cf5d61d486e3795ac14df8904 < 7cafe9b8e22bb3d77f130c461aedf6868c4aaf58`
- `Linux 5.16`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
