CVE-2026-89917 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
KVM: arm64: Lidar com condição de corrida na invalidação da TLB VNCR durante o desmapeamento do VNCR por vcpu_put()
Embora a invalidação da TLB VNCR ocorra sempre sob o bloqueio MMU, vcpu_put() não ocorre sob esse bloqueio, enquanto desmapeia a página VNCR.
O problema é que a invalidação avalia vncr_tlb::cpu para decidir se um desmapeamento deve ocorrer (cpu != -1) antes de executá-lo. Por outro lado, this_cpu_reset_vncr_fixmap() desmapeia incondicionalmente se L1_VNCR_MAPPED estiver definido.
Esses dois processos podem claramente entrar em condição de corrida, com um padrão TOCTOU no caminho TLBI e uma falha (BUG_ON()) no caminho vcpu_put(). E os dois podem acabar chamando vncr_fixmap(-1), causando efeitos letais adicionais.
Mova a redefinição de vncr_tlb::cpu para -1 para uma função comum, e torne essa atualização atômica para que apenas um único thread possa resetar o campo e executar o desmapeamento correspondente. O vcpu_put() ainda precisa desmapear incondicionalmente o VNCR atual para fechar outra condição de corrida desagradável.
Finalmente, a atribuição de vncr_tlb::cpu é movida para ser mantida sincronizada com o mapeamento real, semelhante à definição de L1_VNCR_MAPPED.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.