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
copy-fail-cve-2026-31431 — Scanner Linux passivo de hosts que classifica a exposição ao CVE-2026-31431 por meio da versão do kernel, changelog da distribuição, status do módulo e acessibilidade do AF_ALG, com saída em JSON para integração com SIEM. | Kitploit
Ferramentas/GitHubGitHub/effiesec/copy-fail-cve-2026-31431
Scanners de VulnerabilidadesAnálise de VulnerabilidadesAuditoria de Configuração
GitHubeffiesec/copy-fail-cve-2026-31431

copy-fail-cve-2026-31431

Scanner Linux passivo de hosts que classifica a exposição ao CVE-2026-31431 por meio da versão do kernel, changelog da distribuição, status do módulo e acessibilidade do AF_ALG, com saída em JSON para integração com SIEM.

Ver Repositório
9há 4 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

Verificador de CVE para Copy Fail (CVE-2026-31431)

Autores/Colaboradores: Patrick Doyle (Autor/Mantenedor), Effie Renard (Coautora), Kimberly-Lee Banks (Coautora), Chris F. (Suporte/Revisão de Código)

Divulgação de IA: Claude Code usado para escrever arquivos de teste, escrever dados de teste e uma revisão de segurança do código. Todas as edições foram auditadas manualmente por um dos colaboradores.

Descrição

Binário Go único com linkagem estática que classifica a exposição de um host Linux à CVE-2026-31431.

A ferramenta é passiva. Ela não explora a falha. A sonda de mecanismo (veja a declaração de segurança abaixo) emite exatamente duas chamadas de sistema e nunca toca o caminho de código vulnerável.


O que ela verifica

SinalFonteFlag
Versão do kernel vs. correção upstreamuname(2)--kernel-version
Changelog da distribuição menciona a CVEapt/rpm/apk ou changelog.Debian.gz em disco--changelog
Status do módulo algif_aead/proc/modules, modprobe.d, /lib/modules--module
Superfície vulnerável acessívelsocket(AF_ALG) + bind(authencesn(...))--mechanism
Compilado no vmlinux/boot/config-$(uname -r) ou /proc/config.gz(parte de --module)

Se nenhuma flag de verificação for fornecida, todas as quatro são executadas.


Modos de Saída

ModoGatilhoCaso de uso
Estilizado bonito (Padrão)stdout TTY, sem override de --format, sem env NO_COLORExecuções em shell interativo
Texto simplesstdout não-TTY, OU --format=text, OU NO_COLOR=1, OU --no-colorScripts de Shell, Pipes
JSON--format=jsonIngestão Syslog/SIEM, Scripts de Shell
Silencioso--quietApenas código de saída (automação/scripts)

Forçar bonito quando usado com pipe: cvecheck --pretty | tee report.txt. Forçar texto simples em um TTY: cvecheck --no-color ou NO_COLOR=1 cvecheck.


Declaração de Segurança (Sonda de Mecanismo)

A sonda emite exatamente duas chamadas de sistema socket(AF_ALG, SOCK_SEQPACKET, 0) e bind(fd, &SockaddrALG{Type:"aead", Name:"authencesn(hmac(sha256), cbc(aes))"}). Em seguida, é seguida por close(fd). Ela não executa setsockopt para uma chave, não executa accept, não executa sendmsg, não executa splice e não cria pipes. O caminho de código vulnerável requer sendmsg de dados criptográficos combinado com um splice de um descritor de arquivo com suporte de cache de página; nenhuma dessas operações ocorre, portanto a falha não pode ser acionada.

Uma sonda bem-sucedida significa que a superfície está acessível. Se o kernel ainda contém a falha é decidido pelos sinais de versão do kernel + changelog.

Efeito colateral: um bind bem-sucedido carrega automaticamente algif_aead via o carregador automático de módulos do kernel. A verificação do módulo é executada antes da sonda de mecanismo, para que o relatório de estado carregado seja pré-sonda. Para suprimir o carregamento automático completamente, coloque algif_aead na lista negra primeiro.


Códigos de Saída

CódigoSignificado
0PATCHED / NOT_VULNERABLE / MITIGATED / LIKELY_NOT_EXPLOITABLE
2VULNERABLE ou MECHANISM_REACHABLE (varredura parcial, versão do kernel não verificada)
3INCONCLUSIVE (sinais insuficientes)

Cobertura de Distribuições

DistribuiçãoDetecçãoPacote do kernelNotas
Ubuntu / Debian / Mint / Pop!_OSaptlinux-image-$(uname -r)Leitura do changelog em disco primeiro evita a fragilidade de rede do apt changelog em kernels assinados
RHEL / CentOS / Rocky / Alma / Fedora / Amazon LinuxrpmkernelInclui algif_aead embutido (CONFIG_..._AEAD=y); mitigação por lista negra não é eficaz
Oracle Linuxrpmkernel ou kernel-uekUEK detectado via substring uek em uname -r
openSUSE / SLESrpmkernel-default
Alpineapklinux-lts / linux-virt / etc.Sabor escolhido pelo sufixo da versão
Arch / CachyOS / Manjaro / Endeavour / Gentoonenhumn/dRolling/fonte: depende da verificação da versão do kernel

Implantação

Instalação Automática

Detecta automaticamente sua arquitetura, baixa o binário correto em $(pwd) e verifica seu SHA-256 contra o SHA256SUMS publicado:

root@kitploit:~
curl -fsSL https://copyfail.pcdoyle.dev/install.sh | sh

O script sai com código não-zero em caso de incompatibilidade de checksum e remove o arquivo defeituoso.

Baixar Binário (manual)

Escolha o binário para a arquitetura do seu host:

ArquiteturaBinário
Intel/AMD 64 bits (x86_64)cvecheck-linux-x86_64
ARM 64 bits (aarch64)cvecheck-linux-arm64
Intel/AMD 32 bits (i?86)cvecheck-linux-x86

Verifique antes de executar:

root@kitploit:~
curl -LO https://github.com/pcdoyle/copy-fail-cve-2026-31431/releases/latest/download/cvecheck-linux-x86_64
curl -LO https://github.com/pcdoyle/copy-fail-cve-2026-31431/releases/latest/download/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
chmod +x cvecheck-linux-x86_64

Compilar a partir do Código-Fonte

root@kitploit:~
make build  # bin/cvecheck-linux-{x86_64,arm64,x86}
# SCP(SFTP) para o Servidor:
scp ./bin/cvecheck-linux-x86_64 host:/tmp/  # Menos de 4 MB, estático, sem dependência de glibc

Executar o Programa

SSH para o Host

root@kitploit:~
# SSH:
ssh <host>
# Executar o Binário:
/tmp/cvecheck-linux-x86_64  # Saída bonita amigável para humanos.
/tmp/cvecheck-linux-x86_64 --format=json # Amigável para Scripts, Syslog e SIEM
/tmp/cvecheck-linux-x86_64 --format=text # Amigável para Scripts e Pipes

Executar como Comando Remoto SSH

root@kitploit:~
ssh <host> /tmp/cvecheck-linux-x86_64   # Se executado diretamente, usa --format=text por padrão
ssh <host> /tmp/cvecheck-linux-x86_64 --format=json # Amigável para Syslog/SIEM

Para Contêineres/Chroot:

Monte a raiz do host em algum lugar legível e passe --root:

root@kitploit:~
docker run --rm -v /:/host:ro alpine /tmp/cvecheck --root /<host-path>

--root controla todas as buscas em disco (/etc/os-release, modprobe.d, /lib/modules, /boot/config-*, arquivos de changelog). As sondas de versão do kernel e de mecanismo ainda tocam o kernel em execução via uname(2) e socket(AF_ALG, ...).


Escada de Precedência

Resolvida nesta ordem (a primeira correspondência vence):

  1. PATCHED: O changelog da distribuição referencia o ID da CVE.
  2. NOT_VULNERABLE: Kernel em execução >= versão corrigida upstream.
  3. MITIGATED: algif_aead na lista negra e não carregado e não embutido no vmlinux.
  4. LIKELY_NOT_EXPLOITABLE: AF_ALG indisponível e módulo não está em disco.
  5. MECHANISM_REACHABLE: Superfície acessível, mas versão do kernel não verificada.
  6. VULNERABLE: Kernel na faixa vulnerável e mecanismo acessível.
  7. INCONCLUSIVE: Nenhum dos acima corresponde.

Se --mechanism for executado junto com --kernel-version e ambos sinalizarem problema, o resultado é VULNERABLE com uma dica de remediação.


Dicas de Remediação

  • Distribuições com módulos carregáveis (Debian, Ubuntu, SUSE, Alpine, Arch): coloque algif_aead na lista negra até a atualização do kernel chegar.
    root@kitploit:~
    echo 'blacklist algif_aead' | sudo tee /etc/modprobe.d/cve-2026-31431.conf
    sudo rmmod algif_aead 2>/dev/null
    
  • Distribuições com módulos embutidos (RHEL, CentOS, Rocky, Alma, Oracle, Amazon): arquivos de lista negra são ineficazes porque CONFIG_CRYPTO_USER_API_AEAD=y coloca o símbolo dentro do vmlinux. Apenas uma atualização do kernel (ou patch ao vivo estilo kpatch) resolve a exposição. A ferramenta detecta isso.

Solução de Problemas

SintomaCausaCorreção
changelog: error="apt: exit status 100 ... Changelog unavailable for linux-signed-amd64"Kernel assinado Debian/Ubuntu; o espelho apt não serve o changelog do pacote-fonteO erro aparece apenas quando o arquivo em disco está ausente além do espelho estar inacessível; instale apt-doc ou aguarde o espelho.
module: ... config_src=""Nenhuma configuração de kernel legível (sem /boot/config-*, sem /proc/config.gz, /boot é somente root)Execute como root, ou aceite que BuiltIn não pode ser determinado. O veredito ainda pode ser resolvido por outros sinais.
mechanism: error="EAFNOSUPPORT"Kernel compilado sem CONFIG_CRYPTO_USER_API, então o host não é vulnerável via AF_ALGO veredito será LIKELY_NOT_EXPLOITABLE.

Fontes

  • Banco de Dados de CVE do NIST
  • Site Oficial Copy.Fail
  • Artigo Técnico Oficial
  • Aviso oss-security
  • Artigo do Theori
  • Resumo do Bugcrowd
Baixar ferramenta