Uma nova falha no código de virtualização KVM do kernel Linux para processadores ARM64 pode expor, para uma máquina virtual convidada, uma parte da memória do host que já foi liberada, em sistemas com virtualização aninhada ativada.
O bug, identificado como
CVE-2026-89775
, permite que o convidado leia e grave na memória do kernel do host. Segundo o pesquisador que o descobriu, a falha pode ser usada para escapar da máquina virtual e executar código na máquina hospedeira.
O código afetado faz parte do kernel Linux principal para ARM64, e a correção já foi incluída no Linux 6.18.51, 7.2.5 e 7.3-rc1.
A virtualização aninhada permite que um convidado execute seu próprio hypervisor, possibilitando hospedar máquinas virtuais. No ARM64, essa função vem desativada por padrão. Trata-se de um modo experimental de inicialização, que exige hardware Armv8.4 com um recurso chamado FEAT_NV2. Assim, um host KVM ARM64 comum, que nunca tenha ativado esse recurso, fica fora da trajetória de ataque relatada.
A falha está na parte do KVM que lida com virtualização aninhada no ARM64. Quando o convidado organiza sua memória de determinada forma, um cálculo de tamanho resulta em zero e uma etapa que deveria limpar entradas antigas do cache de endereços do processador, uma invalidação de TLB, é ignorada.
Com isso, uma página da memória do host que foi liberada permanece mapeada e gravável, e o convidado pode lê-la e gravá-la em blocos de 64 bits, sem que haja um trap de hardware para devolver o controle ao host.
Hyunwoo Kim, o pesquisador de segurança que reportou a falha e a divulgou em 16 de setembro, afirma que um convidado pode usar o problema para escapar para o host, saindo da própria máquina virtual para executar código na máquina subjacente. Nenhum código de exploit foi publicado, e não há indícios de que a falha tenha sido usada em ataques.
O próprio registro do kernel indica que o código afetado estava presente desde o Linux 6.16. No entanto, o autor marcou a correção com base em uma alteração posterior, e o mantenedor que revisou e testou o ajuste afirmou que a “invalidação perdida só começa na v6.17”. Nessa leitura, um host rodando 6.16 tem o código, mas não o comportamento de que um atacante precisa.
Há uma segunda forma de abusar da falha. Em sistemas em que qualquer usuário pode abrir /dev/kvm, o dispositivo usado por um programa para criar uma máquina virtual, um usuário local poderia montar um convidado e usar o mesmo bug para obter privilégios de root, diz Kim.
Ele cita o Red Hat Enterprise Linux, onde esse dispositivo fica aberto a todos os usuários por padrão. A Red Hat lista o kernel da versão 10 como afetado e as versões 6 a 9 como não afetadas. Esse caminho, porém, ainda exige que a virtualização aninhada esteja ativada no host.
Quais kernels já foram corrigidos
No código principal, a falha foi corrigida no Linux 6.18.51, 7.2.5 e 7.3-rc1. As distribuições estão liberando a correção em seus próprios cronogramas, e o status varia conforme a versão.
| Kernel ou distribuição | Status em 22 de setembro |
|---|---|
| Linux principal | Corrigido no 6.18.51, 7.2.5 e 7.3-rc1 |
| Red Hat Enterprise Linux | Kernel da versão 10 afetado; versões 6 a 9 não afetadas |
| Ubuntu | 26.04, incluindo kernels AWS, Azure e GCP, vulnerável; kernel geral do 24.04 LTS não afetado, embora seus kernels mais novos de habilitação de hardware, 6.17 e 7.0, sejam vulneráveis |
| Amazon Linux | Pacote kernel6.18 do AL2023: correção pendente; outros kernels do Amazon Linux não afetados |
| Debian | bookworm e trixie não afetados, pois o código não está presente; sid corrigido em 7.2.6-1; forky vulnerável |
Para hosts que ainda não podem ser corrigidos, a Red Hat afirma que nenhuma mitigação atende aos critérios necessários para ser considerada uma solução alternativa. O único ponto certo é o escopo: o ataque só atinge hosts com virtualização aninhada ativada, o que não é o padrão no ARM64.
Os fornecedores atribuem notas que variam de 7,8 a 9,3 em 10. Todos concordam que o impacto é alto e que o ataque é local, ou seja, não pode ser iniciado pela rede. A diferença reflete o grau de dificuldade que cada fornecedor enxerga para explorar a falha. No caso do Ubuntu, que exibe a nota 9,3, a prioridade interna é classificada como média.
Em 22 de setembro, a falha ainda não constava no catálogo de vulnerabilidades exploradas da CISA, nos Estados Unidos, e sua pontuação prevista de exploração estava abaixo de 1%.
A divulgação levanta a dúvida sobre a possibilidade de inquilinos de nuvem usarem a falha para invadir máquinas de um provedor. Nos maiores provedores, porém, a configuração necessária não está disponível: a Amazon Web Services lista apenas instâncias baseadas em Intel para virtualização aninhada, e o Google Cloud exclui suas máquinas virtuais ARM desse recurso.
Isso não representa um atestado de segurança para essas plataformas, mas o caminho específico explorado por essa falha não está exposto em suas ofertas padrão para ARM.
A
CVE-2026-89775
é a quarta fuga de convidado para host em KVM que Kim divulga neste ano. Duas ocorreram na versão x86 do KVM: Januscape, em julho, e Zapscape, em agosto. A que mais se parece com esta é a ITScape, uma fuga no KVM ARM64 publicada por ele em junho, que o pesquisador descreveu como a primeira fuga desse tipo demonstrada publicamente no ARM64.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...