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 — # Exploração de escalonamento de privilégios local no Linux para CVE-2026-31431, abusando da API de criptografia AF_ALG com splice() para modificar o cache de páginas e gerar um shell root. | Kitploit
Ferramentas/GitHubGitHub/vyahello/cve-2026-31431
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoExploração de Binários
GitHubvyahello/cve-2026-31431

CVE-2026-31431

# Exploração de escalonamento de privilégios local no Linux para CVE-2026-31431, abusando da API de criptografia AF_ALG com splice() para modificar o cache de páginas e gerar um shell root.

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

Copy Fail - CVE-2026-31431

Este repositório contém um pequeno PoC de escalonamento de privilégios local para Linux para a CVE-2026-31431, também conhecida como "Copy Fail".

O exploit tem como alvo o caminho algif_aead do kernel Linux na API de criptografia de espaço de usuário AF_ALG. Ele usa AF_ALG mais splice() para forçar o kernel a escrever no cache de páginas de /usr/bin/su em blocos de 4 bytes e, em seguida, executa su após o cache de páginas ter sido modificado.

Visão Geral do Código-Fonte

O PoC em copy_fail_exp.py faz quatro coisas:

  1. Abre um socket AF_ALG para aead com a transformação authencesn(hmac(sha256),cbc(aes)).
  2. Configura a solicitação com os mesmos valores de setsockopt() usados na prova de conceito original.
  3. Usa duas chamadas splice() para mover dados do arquivo de destino para o caminho de solicitação AF_ALG, que é o caminho defeituoso do kernel.
  4. Descompacta um payload incorporado de 160 bytes e o escreve no arquivo de destino em blocos de 4 bytes. O payload é um stub ELF que inclui /bin/sh.

O blob zlib não são dados aleatórios. É um payload compacto que se destina a substituir o início de /usr/bin/su no cache de páginas para que a próxima execução de su gere um shell root.

Versões Afetadas

O código vulnerável foi introduzido nas alterações do algif_aead da era do kernel Linux 4.14 e permaneceu presente até a correção upstream que reverte a otimização in-place.

Escopo Amplo

  • Kernels Linux compilados a partir de 2017 que incluem o caminho in-place algif_aead vulnerável.
  • A maioria das distribuições convencionais que enviaram kernels nesse período e ainda não aplicaram o backport da correção.
  • Sistemas onde a API de criptografia AF_ALG está habilitada, que é o padrão na maioria das distribuições Linux de uso geral.

Testado / Verificado Publicamente

DistribuiçãoKernel
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.1

Pontos de Correção Upstream

  • 6.18.22
  • 6.19.12
  • 7.0

Os ramos LTS downstream só estão seguros depois que o backport do fornecedor chegar ao pacote de kernel que você realmente executa.

Reprodução

Use uma VM de laboratório ou um host de contêineres que você possua. Não execute isso em sistemas de produção.

  1. Inicialize um sistema com um kernel vulnerável.
  2. Confirme que /usr/bin/su existe e é setuid-root.
  3. Execute o PoC:
root@kitploit:~
python3 copy_fail_exp.py
  1. Se o exploit for bem-sucedido, o script corrige /usr/bin/su e então invoca su. Você deve terminar em um shell root ou ver um prompt root, dependendo do ambiente.

Execução

O script não tem dependências extras além da biblioteca padrão do Python 3.

root@kitploit:~
python3 copy_fail_exp.py

Se você quiser inspecionar o destino primeiro, o script atualmente usa como padrão /usr/bin/su.

Atualizando a Correção

Se você mantém um kernel downstream, a correção correta é aplicar o backport da reversão upstream que remove a otimização AEAD in-place:

  • Commit da correção upstream: a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
  • A correção reverte principalmente a alteração in-place anterior 72548b093ee3.

Fluxo de trabalho recomendado para uma árvore de kernel downstream:

root@kitploit:~
git cherry-pick a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
make olddefconfig
make -j"$(nproc)"
make modules_install
make install
reboot

Se você não está recompilando kernels por conta própria, instale o pacote de kernel do fornecedor que contém o backport e reinicie com ele.

Mitigação Provisória

Se a correção for adiada, desative o caminho do módulo como medida temporária:

root@kitploit:~
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null

Isso é uma mitigação, não uma correção.

Notas

  • O PoC é intencionalmente pequeno e determinístico.
  • O exploit é apenas local, mas tem alto impacto em hosts compartilhados, runners de CI, nós Kubernetes e plataformas de contêineres porque o cache de páginas do host é compartilhado.
  • O bug do kernel é um erro de lógica, não uma condição de corrida, então o caminho do exploit é confiável uma vez que o código vulnerável esteja presente.
Baixar ferramenta
6.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default