CVE-2026-74607 in Linux
Sumário
de VulDB • 23/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
KVM: SVM: Serializar acessos à lista de proprietário e ao espelho com bloqueio separado
A interação entre KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM e KVM_CAP_VM_COPY_ENC_CONTEXT_FROM pode causar dois problemas distintos:
- Em sev_migrate_from(), quando o destino do KVM é um espelho, a entrada do espelho é movida da lista de origem para a lista mirror_vms do proprietário, sem manter o bloqueio do proprietário, diferentemente dos outros escritores da lista de espelhos do proprietário (sev_vm_copy_enc_context_from(), sev_vm_destroy()). Uma operação COPY ou destroy concorrente pode entrar em condição de corrida com sev_migrate_from() e corromper a lista.
- Em sev_vm_destroy(), o *proprietário* ainda está ativo e poderia receber simultaneamente um KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM que cause a alteração de sev->enc_context_owner. Nesse caso, a VM incorreta recebe kvm_put_kvm().
O segundo problema requer cuidado especial porque o proprietário pode desaparecer completamente (embora a janela da condição de corrida seja impossivelmente pequena) entre a leitura e o bloqueio do mesmo. Portanto, não há como realizar as verificações sob o bloqueio do proprietário sem colocar struct kvm em SLAB_TYPESAFE_BY_RCU (o que permitiria kvm_get_kvm_safe() dentro de uma seção crítica RCU).
É muito mais simples usar um bloqueio global, já que as seções críticas são tão pequenas e o novo bloqueio é sempre um leaf lock.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.