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