PT-2024-11281 · Linux+2 · Linux Kernel+2
Artemiy Margaritov
·
Publicado
2021-06-08
·
Atualizado
2024-06-24
·
CVE-2021-47277
CVSS v3.1
7.1
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H |
Nome do software vulnerável e versões afetadas
Kernel do Linux (versões afetadas não especificadas)
Descrição
O problema diz respeito ao mecanismo do KVM para acessar a memória do convidado, que traduz um endereço físico do convidado para um endereço virtual do host. Um convidado pode acessar endereços físicos inválidos, resultando em um
gfn inválido. A função gfn to hva memslot é chamada a partir de kvm vcpu gfn to hva prot, que primeiro recupera um memslot por meio de gfn to memslot. Embora gfn to memslot verifique se o gfn está dentro dos limites da memória física do convidado, uma CPU pode especular o resultado da verificação e continuar a execução de forma especulativa usando um gfn inválido. Essa especulação pode resultar no cálculo de um hva fora dos limites. Se o endereço virtual do host resultante for usado para carregar outro endereço físico do convidado, isso é efetivamente um gadget Spectre composto por duas leituras consecutivas, sendo que a segunda depende dos dados da primeira. Não está claro se há casos em que isso seja explorável. Um caso interessante envolve acessar tabelas de páginas do convidado em x86, mas estas não estão vulneráveis atualmente devido à presença de uma barreira de especulação LFENCE em get user(). No entanto, patches estão em desenvolvimento para mascarar endereços do kernel em vez de usar LFENCE, o que poderia potencialmente permitir que um convidado usasse especulação para ler do espaço de endereços do anel 3 do VMM.Recomendações
No momento, não há informações sobre uma versão mais recente que contenha uma correção para esta v
Out of bounds Read
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Astra Linux
Linux Kernel
Suse