CVE-2023-53756
Description
In the Linux kernel, the following vulnerability has been resolved:
KVM: VMX: Fix crash due to uninitialized current_vmcs
KVM enables 'Enlightened VMCS' and 'Enlightened MSR Bitmap' when running as a nested hypervisor on top of Hyper-V. When MSR bitmap is updated, evmcs_touch_msr_bitmap function uses current_vmcs per-cpu variable to mark that the msr bitmap was changed.
vmx_vcpu_create() modifies the msr bitmap via vmx_disable_intercept_for_msr -> vmx_msr_bitmap_l01_changed which in the end calls this function. The function checks for current_vmcs if it is null but the check is insufficient because current_vmcs is not initialized. Because of this, the code might incorrectly write to the structure pointed by current_vmcs value left by another task. Preemption is not disabled, the current task can be preempted and moved to another CPU while current_vmcs is accessed multiple times from evmcs_touch_msr_bitmap() which leads to crash.
The manipulation of MSR bitmaps by callers happens only for vmcs01 so the solution is to use vmx->vmcs01.vmcs instead of current_vmcs.
BUG: kernel NULL pointer dereference, address: 0000000000000338 PGD 4e1775067 P4D 0 Oops: 0002 [#1] PREEMPT SMP NOPTI ... RIP: 0010:vmx_msr_bitmap_l01_changed+0x39/0x50 [kvm_intel] ... Call Trace: vmx_disable_intercept_for_msr+0x36/0x260 [kvm_intel] vmx_vcpu_create+0xe6/0x540 [kvm_intel] kvm_arch_vcpu_create+0x1d1/0x2e0 [kvm] kvm_vm_ioctl_create_vcpu+0x178/0x430 [kvm] kvm_vm_ioctl+0x53f/0x790 [kvm] __x64_sys_ioctl+0x8a/0xc0 do_syscall_64+0x5c/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
An uninitialized per-CPU variable in KVM/VMX (Linux kernel) can crash a host when a VM is created while 'Enlightened VMCS' is enabled under Hyper-V.
Boot-Time
Vulnerability
CVE-2023-53756 is a bug in the Linux kernel's KVM/VMX implementation that occurs when the kernel itself runs as a nested hypervisor on top of Microsoft Hyper-V with 'Enlightened VMCS' and 'Enlightened MSR Bitmap' features enabled. The function evmcs_touch_msr_bitmap relies on the per-CPU variable current_vmcs, but this variable is not initialized during VM creation. Because the check for a null current_vmcs is insufficient, the code may dereference a stale pointer left by a previous task on that CPU, leading to a NULL-pointer dereference or other memory corruption [1][2].
Attack
Conditions
Exploitation is local; an attacker must have the ability to trigger VM creation via the KVM ioctl interface (e.g., KVM_CREATE_VCPU). No special privileges beyond KVM_CAP_IOMMU-type capabilities are required, but the host must be configured as a nested Hyper-V guest. Race conditions can occur because preemption is not disabled while current_vmcs is read multiple times in evmcs_touch_msr_bitmap, allowing a move to another CPU mid-operation.
Impact
A successful trigger results in a kernel crash (NULL pointer dereference), causing a denial of service (DoS) for the entire host system. The crash trace shows the oops occurring in vmx_msr_bitmap_l01_changed during vmx_disable_intercept_for_msr called from vmx_vcpu_create.
Remediation
The fix [1][2] replaces the use of current_vmcs with vmx->vmcs01.vmcs, which is always initialized and properly scoped to the VCPU being created. Patches have been applied to the upstream Linux kernel and backported to stable branches. Administrators should update to a kernel version containing the fix (commits 6baebcecf09a or 3ba95cc671c0 or later).
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
56baebcecf09a6e7bc50f97c9b2de2b4d4e003ba95cc671c093827a0a3639Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- git.kernel.org/stable/c/3ba95cc671c025d0d2a1c7d5e2930f0ff0980cf4nvd
- git.kernel.org/stable/c/6baebcecf09acd19e2bab1c2911dcdba5d48a1dcnvd
- git.kernel.org/stable/c/6e7bc50f97c9855da83f1478f722590defd45ff2nvd
- git.kernel.org/stable/c/93827a0a36396f2fd6368a54a020f420c8916e9bnvd
- git.kernel.org/stable/c/b2de2b4d4e007f9add46ea8dc06f781835e3ea9fnvd
News mentions
0No linked articles in our index yet.