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 para CVE-2026-31431, uma vulnerabilidade authencesn do kernel Linux que permite escalonamento local de privilégios para root por meio de manipulação do cache de páginas. | Kitploit
Ferramentas/GitHubGitHub/abdullaabdullazade/cve-2026-31431
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploração
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

Exploit para CVE-2026-31431, uma vulnerabilidade authencesn do kernel Linux que permite escalonamento local de privilégios para root por meio de manipulação do cache de páginas.

Ver Repositório

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
1há 3 mesesAinda não revisado

Copy Fail (CVE-2026-31431) - Análise Abrangente

1. Visão Geral da Vulnerabilidade

  • Nome da Vulnerabilidade: Copy Fail
  • Identificador CVE: CVE-2026-31431
  • Descoberta Por / Autores: Xint Code Research Team (com base na pesquisa inicial fundamental do pesquisador da Theori, Taeyang Lee).

"Copy Fail" é uma vulnerabilidade lógica crítica no template criptográfico authencesn do kernel Linux. Ela permite que um usuário local sem privilégios acione uma gravação determinística e controlada de 4 bytes no cache de páginas de qualquer arquivo legível do sistema. Ao mirar binários setuid (como /usr/bin/su), um atacante pode editar o cache de execução em memória para escalar privilégios para Root (UID 0).

Diferente de vulnerabilidades mais antigas como "Dirty Cow" ou "Dirty Pipe", o Copy Fail é uma falha lógica linear que é acionada sem condições de corrida, tentativas repetidas ou janelas de tempo propensas a travamentos. É altamente portátil e furtiva, pois modifica apenas o cache de páginas em memória, deixando o arquivo em disco completamente inalterado, contornando as ferramentas padrão de monitoramento de integridade de arquivos.

2. Análise da Causa Raiz

A vulnerabilidade existe na interseção de três componentes distintos do kernel:

  1. AF_ALG e AEAD In-Place: AF_ALG é um tipo de socket que expõe o subsistema criptográfico do kernel ao espaço do usuário. Em 2017, uma otimização foi adicionada para realizar operações AEAD in-place, o que significa que o mesmo scatterlist serve tanto como entrada quanto como saída para o algoritmo criptográfico.
  2. A Chamada de Sistema splice(): A syscall splice() transfere dados entre descritores de arquivo e pipes sem copiar, passando páginas do cache de páginas por referência. Quando um usuário faz splice de um arquivo (como /usr/bin/su) em um socket AF_ALG, o scatterlist de entrada do socket mantém referências diretas às páginas em cache do kernel desse arquivo.
  3. Gravação Temporária do authencesn: O algoritmo authencesn (usado para Números de Sequência Estendidos do IPsec) requer a reorganização de bytes. Para isso, ele grava temporariamente 4 bytes de números de sequência no buffer de saída como "espaço temporário". No entanto, ele grava além do limite legítimo de saída.

Devido à otimização in-place de 2017, o scatterlist de saída contém as páginas do cache de páginas somente leitura passadas por splice(). Quando o authencesn grava além do limite de saída, ele sobrescreve diretamente 4 bytes dentro da memória em cache do kernel do arquivo alvo.

3. Mecanismo de Exploração

Um atacante pode explorar isso seguindo estes passos:

  1. Configuração do Socket: Abrir um socket AF_ALG sem privilégios e fazer bind em authencesn(hmac(sha256),cbc(aes)).
  2. Construir a Gravação: Enviar um sendmsg() elaborado com um payload de Dados Autenticados Associados (AAD) contendo os 4 bytes que deseja gravar.
  3. Splice do Alvo: Usar splice() para canalizar o arquivo alvo (/usr/bin/su) para o socket. O offset e o comprimento definem exatamente onde no cache de páginas os 4 bytes serão gravados.
  4. Acionar a Decriptação: Chamar recv() aciona a operação de decriptação, executando a gravação temporária fora dos limites diretamente no cache de páginas do arquivo alvo.
  5. Executar: Executar o binário alvo (por exemplo, execve("/usr/bin/su")). O kernel executa a versão adulterada do cache de páginas contendo o shellcode malicioso injetado, concedendo acesso root.

4. Mitigação e Remediação

Solução Temporária

Se não for possível aplicar o patch ou reiniciar o kernel imediatamente, você pode mitigar esta vulnerabilidade bloqueando todos os módulos af_alg relacionados e descarregando-os da memória.

Para bloquear esses módulos, execute os seguintes comandos:

root@kitploit:~
# 1. Descarregar os módulos da memória se estiverem carregados atualmente
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. Adicionar os módulos à lista de bloqueio
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. Impedir que o módulo af_alg seja carregado completamente
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. Reiniciar o sistema para garantir que as alterações tenham efeito total
sudo reboot

Correção Permanente

A equipe de segurança do kernel Linux corrigiu esta vulnerabilidade (Commit: a664bf3d603d). O patch reverte as operações AEAD do AF_ALG para um modelo fora do lugar (out-of-place), separando os scatterlists de origem e destino. Isso impede que as páginas do cache de páginas sejam expostas ao scatterlist de destino gravável.

Ação Necessária: Atualize o kernel da sua distribuição para a versão mais recente fornecida pelo seu fornecedor (Ubuntu, Amazon Linux, RHEL, SUSE, etc.) e reinicie o sistema.

Baixar ferramenta