CVE-2023-53756
CVE.org · Publicado
- Status do registro
- Publicado
- Ano do identificador (não é o ano de publicação)
- 2023
- Publicação na fonte
- Atualização na fonte
- Importado pelo cveboard
- Snapshot da fonte
- cve_2026-10-24_midnight_baseline ·
Texto da CNA em inglês
KVM: VMX: Fix crash due to uninitialized current_vmcs
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
Fatos de produtos e versões por escopo
Dados de correção desconhecidos; nenhuma versão corrigida é deduzida aqui. Dados ausentes não comprovam ausência de correção.
Exploração desconhecida; este catálogo não avalia exploração.
Linux
- Fornecedor
- Linux
- Produto
- Linux
- Plataformas
- Desconhecido
- Status padrão
unaffected
| Versão (version) | Status (status) | Esquema de versões (versionType) | Fim exclusivo (lessThan) | Fim inclusivo (lessThanOrEqual) | Mudanças de status (at → status) |
|---|---|---|---|---|---|
| ceef7d10dfb6284d512c499292e6daa35ea83f90 | affected | git | 6baebcecf09acd19e2bab1c2911dcdba5d48a1dc | Indisponível | Nenhuma listada |
| ceef7d10dfb6284d512c499292e6daa35ea83f90 | affected | git | 6e7bc50f97c9855da83f1478f722590defd45ff2 | Indisponível | Nenhuma listada |
| ceef7d10dfb6284d512c499292e6daa35ea83f90 | affected | git | b2de2b4d4e007f9add46ea8dc06f781835e3ea9f | Indisponível | Nenhuma listada |
| ceef7d10dfb6284d512c499292e6daa35ea83f90 | affected | git | 3ba95cc671c025d0d2a1c7d5e2930f0ff0980cf4 | Indisponível | Nenhuma listada |
| ceef7d10dfb6284d512c499292e6daa35ea83f90 | affected | git | 93827a0a36396f2fd6368a54a020f420c8916e9b | Indisponível | Nenhuma listada |
Linux
- Fornecedor
- Linux
- Produto
- Linux
- Plataformas
- Desconhecido
- Status padrão
affected
| Versão (version) | Status (status) | Esquema de versões (versionType) | Fim exclusivo (lessThan) | Fim inclusivo (lessThanOrEqual) | Mudanças de status (at → status) |
|---|---|---|---|---|---|
| 4.18 | affected | Indisponível | Indisponível | Indisponível | Nenhuma listada |
| 0 | unaffected | semver | 4.18 | Indisponível | Nenhuma listada |
| 5.10.175 | unaffected | semver | Indisponível | 5.10.* | Nenhuma listada |
| 5.15.103 | unaffected | semver | Indisponível | 5.15.* | Nenhuma listada |
| 6.1.16 | unaffected | semver | Indisponível | 6.1.* | Nenhuma listada |
| 6.2.3 | unaffected | semver | Indisponível | 6.2.* | Nenhuma listada |
| 6.3 | unaffected | original_commit_for_fix | Indisponível | * | Nenhuma listada |