Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
XCP_ng_CVE-2026-31431_tester — Detector não destrutivo para CVE-2026-31431 (Copy Fail) de escalonamento local de privilégios no Dom0 do XCP-ng 8.3, validando a vulnerabilidade do kernel por meio de teste de corrupção do page-cache. | Kitploit
Ferramentas/GitHubGitHub/grabesec/xcp_ng_cve-2026-31431_tester
Análise de VulnerabilidadesExploraçãoTestes de PenetraçãoSegurança na Nuvem
GitHubgrabesec/xcp_ng_cve-2026-31431_tester

XCP_ng_CVE-2026-31431_tester

Detector não destrutivo para CVE-2026-31431 (Copy Fail) de escalonamento local de privilégios no Dom0 do XCP-ng 8.3, validando a vulnerabilidade do kernel por meio de teste de corrupção do page-cache.

Ver Repositório
há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-31431 "Copy Fail" — Detector de Laboratório para XCP-ng

Um script detector seguro e não destrutivo para CVE-2026-31431 ("Copy Fail"), validado contra XCP-ng 8.3 LTS anterior à atualização de segurança de 5 de maio de 2026.

⚠️ Somente uso autorizado. Execute este script exclusivamente em sistemas que você possui ou para os quais possui autorização explícita de teste.


Contexto

CVE-2026-31431, apelidada de "Copy Fail", é uma vulnerabilidade de escalonamento local de privilégios (LPE) na interface criptográfica algif_aead do kernel Linux. Uma falha lógica no template authencesn — introduzida em 2017 — permite que um usuário local sem privilégios realize uma gravação controlada de 4 bytes no cache de páginas do kernel de qualquer arquivo legível, possibilitando o escalonamento de privilégios para root.

  • CVSS 3.1: 7.8 (Alta)
  • Kernels afetados: 4.14 até 6.18.21, 6.19.x anteriores a 6.19.12
  • Introduzida: Linux kernel 4.14 (2017)
  • Divulgada: 29 de abril de 2026 por Taeyang Lee / Theori (Xint Code)
  • Correção upstream: commit a664bf3d603d por Herbert Xu

Por Que Isso Importa para o XCP-ng

O domínio de controle Dom0 do XCP-ng executa em um kernel Linux e é a camada de gerenciamento do hipervisor. Qualquer usuário sem privilégios com acesso a shell no Dom0 — incluindo contas de serviço criadas para pipelines de CI/CD, agentes de monitoramento, ferramentas de backup ou automação — pode explorar esta vulnerabilidade para obter root. A partir do root no Dom0, todas as VMs convidadas nesse host ficam comprometidas.

Uma instalação padrão do XCP-ng tem exposição mínima, pois pouquíssimos processos são executados como usuários não-root. O risco real se acumula ao longo do tempo à medida que operadores adicionam contas de serviço para fins legítimos sem restringir o acesso ao shell.

Audite as contas de serviço do seu Dom0:

root@kitploit:~
awk -F: '$7 ~ /bash|sh/' /etc/passwd

O Que Este Script Faz

Este é um detector de laboratório, não uma ferramenta de escalonamento de privilégios. Ele:

  • Cria um arquivo sentinela temporário de propriedade do usuário em execução em um diretório temporário
  • Tenta acionar a primitiva de gravação de rascunho no cache de páginas algif_aead / authencesn contra esse arquivo
  • Relata se foi detectada corrupção no cache de páginas (confirmando a vulnerabilidade)
  • Limpa todos os arquivos temporários ao sair

Binários do sistema, /etc/passwd e outros arquivos do sistema nunca são tocados. A corrupção do cache de páginas é apenas em memória — nada é gravado de volta no disco.


Requisitos

  • Python 3.10+ (necessário para os.splice)
  • Apenas biblioteca padrão — sem necessidade de instalações via pip
  • Shell de usuário não-root em um Dom0 executando um kernel vulnerável

Uso

root@kitploit:~
python3 xcp_ng_cve_2026_31431_tester.py

Códigos de Saída

CódigoSignificado
0Nenhuma corrupção observada — o sistema provavelmente está corrigido ou algif_aead está desabilitado
1Erro de acionamento — algif_aead pode estar indisponível ou bloqueado
2Vulnerável — corrupção do cache de páginas confirmada

Nota: O código de saída 1 em um sistema corrigido é comportamento esperado, não um erro do script. Se authencesn foi desabilitado no nível do kernel (como na correção do XCP-ng de 5 de maio), o bind do socket falhará e o script sairá com o código 1.


Status da Correção no XCP-ng

DataEvento
29 de abril de 2026CVE-2026-31431 divulgada publicamente
4 de maio de 2026VATES publica VSA-2026-013
5 de maio de 2026Atualização de segurança de maio do XCP-ng 8.3 LTS lançada — correção do kernel disponível

Aplicando a Correção

Atualize seus hosts XCP-ng e reinicie:

root@kitploit:~
yum update
reboot

Após a reinicialização, verifique se o kernel atualizado está em execução:

root@kitploit:~
uname -r

Execute novamente este script detector após a correção. Um sistema corrigido retornará o código de saída 1 (erro de acionamento), pois o template vulnerável authencesn não está mais disponível.

Nota: A correção do XCP-ng desabilita o suporte a IPSec ESN como consequência da remoção do componente vulnerável authencesn. Para a maioria dos ambientes, isso não tem impacto prático. A VATES indicou que uma correção futura pode restaurar essa funcionalidade com uma solução adequada.


Verificando a Configuração do Kernel

Antes de aplicar mitigações, confirme se algif_aead está compilado como módulo (=m) ou embutido no kernel (=y):

root@kitploit:~
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • =m — Baseado em módulo; a lista negra do modprobe funcionará
  • =y — Embutido no kernel; a lista negra do modprobe falhará silenciosamente e não fornecerá proteção

Para kernels da família RHEL com =y, use o parâmetro de boot do grubby:

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

Referências

  • VSA-2026-013 — Boletim de Segurança da VATES
  • Atualização de Segurança de Maio de 2026 do XCP-ng
  • Copy Fail — Artigo Técnico da Xint/Theori
  • copy.fail — Página Oficial de Divulgação
  • CVE-2026-31431 — NVD
  • Correção Upstream do Kernel — commit a664bf3d603d
  • Detector original por rootsecdev

Créditos

  • Descoberta da vulnerabilidade: Taeyang Lee / Theori (Xint Code)
  • Correção upstream do kernel: Herbert Xu
  • Script detector original: rootsecdev
  • Adaptação e validação para XCP-ng: Rod (este repositório)

Licença

Este script é um derivado modificado do trabalho original de rootsecdev. Verifique a licença do repositório upstream antes de redistribuir e garanta que seu uso esteja em conformidade com seus termos.


Este script foi validado no XCP-ng 8.3 LTS executando um kernel sem correção em 5 de maio de 2026. Aplique imediatamente a atualização de segurança oficial da VATES se ainda não o fez.

Baixar ferramenta