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
linux-copy-fail-CVE-2026-31431 — Prova de conceito de exploit para CVE-2026-31431 (Copy-Fail), uma falha do kernel Linux em AF_ALG e splice() que permite envenenamento do cache de páginas e escalonamento local de privilégios. Inclui análise, resultados de laboratório e script de detecção. | Kitploit
Ferramentas/GitHubGitHub/adilkurtulmus/linux-copy-fail-cve-2026-31431
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubadilkurtulmus/linux-copy-fail-cve-2026-31431

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

linux-copy-fail-CVE-2026-31431

Prova de conceito de exploit para CVE-2026-31431 (Copy-Fail), uma falha do kernel Linux em AF_ALG e splice() que permite envenenamento do cache de páginas e escalonamento local de privilégios. Inclui análise, resultados de laboratório e script de detecção.

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

Análise de Falha de Cópia no Linux (CVE-2026-31431) 🛡️

Este repositório contém uma análise aprofundada, Prova de Conceito (PoC) e resultados de testes de laboratório para a vulnerabilidade CVE-2026-31431, popularmente conhecida como "Copy-Fail".

O Copy-Fail explora uma falha lógica na API de Criptografia do Kernel Linux (AF_ALG) combinada com a chamada de sistema splice(). Ela permite que um atacante local sem privilégios realize Envenenamento de Cache de Páginas (Page Cache Poisoning), levando à Escalação Local de Privilégios (LPE).

🧠 Visão Geral Técnica: Envenenamento de Cache de Páginas

Diferentemente de exploits tradicionais que modificam arquivos no disco, o Copy-Fail tem como alvo o Cache de Páginas (RAM) diretamente. Quando um arquivo é lido, o kernel armazena uma cópia na RAM para melhorar o desempenho. Devido a um bug de gerenciamento de memória no algoritmo authenc em versões específicas do kernel, um atacante pode enganar o kernel para sobrescrever essas páginas de memória "somente leitura".

Ao envenenar as páginas de memória de binários SETUID como /usr/bin/su, é possível contornar a autenticação e obter um shell root.

🧪 Ambientes de Laboratório e Resultados de Testes

Os testes foram conduzidos em múltiplas distribuições Ubuntu, examinando especificamente o impacto do backporting do kernel e do gerenciamento de patches.

DistribuiçãoVersão do KernelData do PatchResultadoObservação
Ubuntu 24.046.8.0-87-genericOut 2025❌ FalhouAtualizações de segurança ativas
Ubuntu 22.045.15.0-125-genericSet 2024✅ SUCESSOVulnerável (Sem Patch)
Ubuntu 18.044.15.0-197-genericNov 2022✅ SUCESSOVulnerável (Sem Patch)

O Paradoxo do Backport

Os números de versão do kernel podem ser enganosos. Enquanto kernels "mais novos" como o 6.8 são protegidos por patches de segurança, kernels mais antigos ou EOL (Fim de Vida) como 4.15 e 5.15 permaneceram totalmente vulneráveis devido à falta de correções com backport.

📊 Análise Comparativa do Ubuntu 22.04 (Kernel 5.15)

Durante a pesquisa, um resultado impressionante foi obtido ao testar dois sistemas Ubuntu 22.04 diferentes compartilhando a mesma versão principal do kernel:

Versão do Kernel

Análise:

Este teste prova que a segurança do sistema não pode ser medida apenas pelo número da versão principal. Um servidor executando 5.15.0-125 pode ser comprometido em segundos, enquanto o 5.15.0-170 bloqueia completamente o ataque.

Saída de Exploração Bem-sucedida (Kernel 5.15.0-125):

root@kitploit:~
$ python3 ubuntu_22.04_copy_fail_exploit.py 
[*] Envenenando /usr/bin/su (Ubuntu 22.04 / Kernel 5.15)...
[+] Exploit concluído. Acionando Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream01:/tmp#

🛠️ Prova de Conceito (PoC)

A PoC foi desenvolvida usando ctypes para garantir compatibilidade entre diferentes versões do Python (especificamente para versões sem suporte nativo a os.splice).

Principais Recursos:

  • Chamadas libc.splice de baixo nível via ctypes.
  • Cache forçado do binário alvo.
  • Demonstração do impacto lateral (o envenenamento por um usuário afeta todos os usuários).

Executando o Exploit:

1.Carregue os módulos de criptografia necessários:

sudo modprobe af_alg algif_aead authenc echainiv

2.Execute o exploit:

python3 final_exploit.py

🎥 Demonstração

root@kitploit:~
$ python3 ubuntu_18.04_copy_fail_exploit.py
[*] /bin/su zehirleniyor (Kernel 4.15)...
[+] Bellek zehirlendi! Root tetikleniyor...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream02:/tmp#

🛡️ Mitigação e Prevenção

  • 1. A Solução Definitiva: Atualização do Kernel

  • sudo apt update && sudo apt upgrade -y
  • sudo reboot

2. Resposta de Emergência: Limpando o Cache

  • Para limpar as páginas envenenadas na memória

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

3. Defesa Proativa: Lista Negra de Módulos

  • echo "blacklist authenc" | sudo tee /etc/modprobe.d/blacklist-authenc.conf
  • echo "blacklist algif_aead" | sudo tee -a /etc/modprobe.d/blacklist-authenc.conf
  • sudo depmod -a

🛡️ Script de Detecção de Vulnerabilidade

root@kitploit:~
# 1. Verifique a versão do kernel
# uname -r

# 2. Verifique os módulos carregados (Seguro se não houver saída)
# lsmod | grep -E "algif_aead|authencesn"

# 3. Teste Crítico — bind authencesn
python3 -c "
import socket
try:
    s = socket.socket(38, 5, 0)
    s.bind(('aead', 'authencesn(hmac(sha256),cbc(aes))'))
    print('[!] CRÍTICO — Sistema Vulnerável!')
    s.close()
except:
    print('[+] Seguro — authencesn inacessível')
"

# 4. Hash do binário setuid (referência)
sha256sum /usr/bin/su /usr/bin/sudo /usr/bin/passwd

Tabela de Avaliação:

ResultadoSignificado
Sem saída do lsmod + erro de bind✅ Seguro
Saída do lsmod existe OU bind bem-sucedido⚠️ Vulnerável, aplique patches imediatamente

Aviso Legal: Esta pesquisa e PoC são apenas para fins educacionais e de testes de segurança autorizados. O uso em sistemas não autorizados pode resultar em consequências legais.

Baixar ferramenta
Data do Patch
Resultado
Status
5.15.0-125Set 2024✅ SUCESSOVulnerável (Exploit Acionado)
5.15.0-170Jan 2026❌ FALHOUSeguro (Com Patch)