Nova falha no Zapscape KVM pode permitir escape de código de guest L1 privilegiado para hosts Linux
7 de Agosto de 2026

Zapscape, uma nova vulnerabilidade no kernel Linux, pode permitir que um atacante com privilégios de kernel dentro de uma máquina virtual convidada L1 escape do isolamento do KVM e execute código no host. O risco se aplica quando a virtualização aninhada está exposta a convidados não confiáveis.

A falha é identificada como CVE-2026-64561 e afeta a unidade de gerenciamento de memória sombra, ou shadow MMU, do KVM/x86, responsável por gerenciar tabelas de páginas sombra usadas na tradução de memória de convidados aninhados.

O pesquisador de segurança Hyunwoo Kim, que revelou o bug, afirmou que a cadeia de exploração demonstrada consegue executar comandos no host com privilégios de kernel, ou de root.

A correção já foi incorporada ao código principal, e administradores que operam hosts KVM com virtualização aninhada exposta a convidados não confiáveis devem atualizar para uma versão estável corrigida do kernel ou para um pacote do fornecedor que tenha feito o backport do patch.

O privilégio de kernel exigido na camada L1 normalmente equivale a acesso root no convidado. Em sistemas Intel, também é necessário expor ao convidado L1 os comprimentos de leitura de páginas EPT 4 e 5. Na AMD, não há uma condição equivalente.

Zapscape é uma falha de ordenação na verificação de stale-root na contabilidade da shadow-MMU do KVM, que pode levar a um use-after-free. Durante o tratamento de uma falha de página acionada pelo convidado, o KVM pode recuperar páginas de MMU e invalidar a página raiz da shadow MMU ainda em uso pela rotina de tratamento da falha. Como o caminho não verifica a raiz novamente, o KVM pode continuar operando com a raiz já invalidada.

Em um relatório técnico, Kim descreveu o problema como um use-after-free no caminho recursivo de zap usado quando o KVM recupera páginas sombra. O KVM verificava se a raiz atual estava obsoleta antes de tornar mais páginas de MMU disponíveis. A recuperação podia então invalidar a mesma raiz, mas o KVM seguia com o processamento da falha e criava páginas sombra filhas sob ela.

Essas páginas filhas herdavam o estado inválido da página pai e ainda eram colocadas na lista ativa de páginas de MMU do KVM. Em uma limpeza posterior, o mesmo vínculo de lista poderia ser anexado a duas listas ao mesmo tempo e, em seguida, a página seria liberada enquanto ainda restariam referências obsoletas à lista, criando um vínculo pendente e uma escrita após a liberação.

A prova de conceito pública de Kim usa esse mecanismo para construir uma cadeia completa que cria, no host que executa o KVM vulnerável, um arquivo chamado /Zapscape com propriedade de root.

A prova de conceito mira o AMD nested SVM/NPT no Linux 7.1.3. Kim recomenda executá-la sob QEMU TCG para testes seguros. O QEMU não é o componente vulnerável. Segundo Kim, o bug está no KVM dentro do kernel e é acionado de forma independente da emulação do QEMU.

O texto publicado em 6 de agosto inclui uma prova de conceito pública, mas não afirma que a falha tenha sido explorada em ataques reais. Kim também a descreveu como “não um exploit armado que roda imediatamente” em ambientes de nuvem, dizendo que o uso no mundo real exigiria mover as ações da L1 para um módulo do kernel do convidado e adaptar o exploit à configuração do kernel do host e ao backend de memória.

O National Vulnerability Database lista como afetadas as versões do Linux a partir da 5.9 até as compilações estáveis corrigidas, incluindo 6.6.148, 6.12.101, 6.18.42, 7.1.6 e 7.2-rc5.

A Red Hat atribuiu uma pontuação preliminar CVSS de 7,0 em seu comunicado e classificou o problema como CWE-825, ou dereferência de ponteiro expirado.

O status dos pacotes depende do rastreador de cada distribuidora Linux, e não apenas das versões do código principal. A Red Hat alerta que seus pacotes frequentemente carregam correções retroportadas sem a necessidade de migrar para uma nova versão upstream.

Em 6 de agosto de 2026, o rastreador da Debian listava como vulneráveis os pacotes de kernel do bullseye, bookworm e trixie, incluindo seus repositórios de segurança. O documento também listava o forky como vulnerável e o sid como corrigido na versão 7.1.6-1.

De acordo com a linha do tempo da divulgação, Kim informou o problema para [email protected] em 11 de julho de 2026. Um patch foi publicado e incorporado em 21 de julho, o caso foi enviado à lista linux-distros em 1º de agosto sob embargo de cinco dias, e o CVE-2026-64561 foi atribuído em 4 de agosto. A divulgação pública ocorreu em 6 de agosto.

A correção, incorporada no commit 2abd5287f083, move a verificação de stale-root para depois de make_mmu_pages_available(). Se a recuperação invalidar a raiz atual, o KVM agora reinicia a falha com RET_PF_RETRY em vez de continuar a mapear ou buscar dados sob uma raiz inválida.

A divulgação segue o trabalho anterior de Kim envolvendo o KVM, incluindo Januscape ( CVE-2026-53359 ), uma falha separada na shadow-MMU do KVM/x86 abordada em julho, e ITScape ( CVE-2026-46316 ), uma fuga no KVM/arm64 publicada em junho.

Publicidade

Anuncie no CaveiraTech e coloque sua marca na frente de milhares de profissionais de cybersecurity

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...