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
copyfail-guard — Detecte e mitigue o CVE-2026-31431 (Copy Fail) em sistemas Linux. | Kitploit
Ferramentas/GitHubGitHub/ctzisme/copyfail-guard
Ferramentas DefensivasScanners de VulnerabilidadesAuditoria de ConfiguraçãoResposta a Incidentes
GitHubctzisme/copyfail-guard

copyfail-guard

Detecte e mitigue o CVE-2026-31431 (Copy Fail) em sistemas Linux.

Ver Repositório
25há 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 →
Site
Compartilhar

copyfail-guard

PyPI Python License pylint

Uma CLI Python sem dependências que verifica se um host Linux parece exposto ao CVE-2026-31431 ("Copy Fail") sem executar um exploit. Também pode aplicar uma mitigação temporária conservadora quando o componente afetado pode ser carregado como módulo de kernel. Suporta Debian/Ubuntu, RHEL/Rocky/AlmaLinux, Fedora e SUSE.

root@kitploit:~
pip install copyfail-guard
copyfail-guard

Contexto

O CVE-2026-31431 é um bug lógico na interface de kernel algif_aead (socket AF_ALG AEAD) que permite que um usuário local sem privilégios realize uma escrita controlada de 4 bytes no cache de páginas de qualquer arquivo legível, levando à escalada de privilégios para root. CVSS 7.8, presente desde o kernel 4.14, corrigido em versões estáveis a partir de abril de 2026. Existe um exploit público e a vulnerabilidade está listada no CISA KEV.

Por que não simplesmente executar um exploit?

Algumas verificações de vulnerabilidade se resumem a "executar o exploit e ver se funciona". Isso não é uma boa prática em hosts de produção. O copyfail-guard adota uma abordagem sem exploit. Ele não tenta acionar o bug, modificar binários setuid ou comprovar explorabilidade. Em vez disso, inspeciona o estado do host (versão do kernel, status de carregamento do módulo, configuração do modprobe) e informa se a máquina parece exposta.

O que esta ferramenta faz

SubcomandoAção
detectCombina cinco sinais (versão do kernel, /proc/modules, modules.builtin, modules.dep, configuração do modprobe) em um de seis veredictos
fixGrava atomicamente uma regra modprobe install algif_aead /bin/false e tenta descarregar algif_aead
resetRemove a regra modprobe instalada por fix (execute após atualizar para um kernel corrigido)

O fix é intencionalmente mínimo — ele não chama o gerenciador de pacotes. A correção permanente exige a atualização do kernel pelo mecanismo de atualização normal da sua distribuição.

Instalação

root@kitploit:~
pip install copyfail-guard

Ou execute diretamente de um checkout sem instalar:

root@kitploit:~
PYTHONPATH=src python3 -m copyfail_guard detect

Uso

root@kitploit:~
copyfail-guard [--json] [--dry-run] [--quiet] [detect | fix | reset]

detect (padrão)

root@kitploit:~
$ copyfail-guard
[copyfail-guard] CVE-2026-31431 (Copy Fail) — VULNERÁVEL
  Distribuição: Ubuntu 24.04.1 LTS  (família debian)
  Kernel:       6.8.0-50-generic  (ramo 6.12, corrigido em 6.12.85)
  Módulo:       algif_aead — carregado como .ko
  Mitigação:    nenhuma

Ações recomendadas:
  1. Aplicar mitigação agora:
       sudo copyfail-guard fix
  2. Atualizar o kernel para uma correção permanente:
       Atualize o kernel neste sistema para 6.12.85 ou posterior (o que a sua
       distribuição fornecer após integrar a correção do CVE-2026-31431) e reinicie.

fix

Sempre visualize com --dry-run antes de aplicar:

root@kitploit:~
$ sudo copyfail-guard --dry-run fix
[copyfail-guard] fix (dry-run) — OK
  [ ok ] Verificações de pré-voo (Linux, host, root)
  [skip] Gravaria blacklist do modprobe  [/etc/modprobe.d/cve-2026-31431-copyfail-guard.conf]
  [skip] Tentaria descarregar algif_aead (não carregado atualmente)  [algif_aead]
  [skip] Adicionaria registro de auditoria  [/var/log/copyfail-guard.log]

$ sudo copyfail-guard fix
[copyfail-guard] fix — OK
  [ ok ] Verificações de pré-voo (Linux, host, root)
  [ ok ] Blacklist do modprobe gravada  [/etc/modprobe.d/cve-2026-31431-copyfail-guard.conf]
  [ ok ] algif_aead descarregado  [algif_aead]
  [ ok ] Registro de auditoria adicionado  [/var/log/copyfail-guard.log]

Próximo passo para uma correção permanente:
  Atualize o kernel para uma versão corrigida do CVE-2026-31431 usando o
  mecanismo de atualização normal da sua distribuição e reinicie.

Se o módulo estiver em uso no momento, a etapa de descarregamento pode falhar. Nesse caso, a regra modprobe persistente ainda pode ser instalada com sucesso, e o copyfail-guard relatará a falha de descarregamento como um registro de ação estilo aviso, em vez de fingir que o módulo foi removido.

Saída JSON

--json emite um documento estruturado no stdout, adequado para pipelines jq, Ansible ou SOAR:

root@kitploit:~
$ copyfail-guard --json | jq .verdict
"vulnerable"

$ copyfail-guard --json | jq '{verdict, kernel: .kernel.patched_threshold}'
{
  "verdict": "vulnerable",
  "kernel": "6.12.85"
}

Códigos de saída

CódigoSignificado
0Seguro — veredicto é patched, mitigated ou not_applicable; ou a etapa de correção persistente foi bem-sucedida
1Vulnerável — veredicto é vulnerable ou unmitigable_builtin
2Erro — o estado não pôde ser determinado, pré-condição recusada ou a etapa de correção persistente falhou

Veredictos

VeredictoDescrição
patchedO kernel em execução está na versão corrigida ou além dela
mitigatedO kernel é vulnerável, mas algif_aead está bloqueado pela configuração do modprobe
not_applicableO kernel é vulnerável, mas algif_aead não está presente neste sistema
vulnerableO kernel é vulnerável, o módulo pode ser carregado, sem mitigação em vigor
unmitigable_builtinalgif_aead está compilado na imagem do kernel — a mitigação via modprobe não tem efeito; atualização do kernel é necessária
unknownA versão do kernel não pôde ser analisada ou está fora do intervalo avaliado

Removendo a mitigação

Após atualizar para um kernel corrigido, use o subcomando reset para remover a regra modprobe instalada por fix:

root@kitploit:~
$ sudo copyfail-guard --dry-run reset
[copyfail-guard] reset (dry-run) — OK
  [skip] Removeria /etc/modprobe.d/cve-2026-31431-copyfail-guard.conf

$ sudo copyfail-guard reset
[copyfail-guard] reset — OK
  [ ok ] Removido /etc/modprobe.d/cve-2026-31431-copyfail-guard.conf

Reinicie para permitir que algif_aead seja carregado novamente, se necessário.

O reset é idempotente — se o arquivo já estiver ausente, ele sai com 0 e uma mensagem "nada a fazer". Em seguida, reinicie.

Notas

Contêineres. O fix se recusa a executar dentro de um contêiner porque /proc/modules reflete o kernel do host, mas o contêiner não tem autoridade para carregar ou descarregar módulos. Execute o copyfail-guard diretamente no host.

algif_aead embutido. Alguns kernels compilam algif_aead diretamente na imagem (CONFIG_CRYPTO_USER_API_AEAD=y). A mitigação via modprobe não tem efeito nessa configuração; a única correção é uma atualização do kernel. O detect relata unmitigable_builtin nesse caso. Executar fix ainda instalará a regra modprobe (que impede que qualquer cópia carregável coexistente seja carregada), mas a instância embutida não é afetada — atualização do kernel e reinicialização são o único remédio real.

blacklist vs install … /bin/false. Ambas as diretivas bloqueiam o auto-carregamento comum, mas install algif_aead /bin/false é mais forte porque também bloqueia invocações explícitas comuns de modprobe algif_aead. Um administrador com privilégios suficientes ainda pode contornar a política do modprobe, por exemplo, usando ferramentas de carregamento de módulos de baixo nível ou flags especiais do modprobe. O copyfail-guard sempre instala a forma mais forte. Se o seu sistema já tiver uma diretiva blacklist simples, a ferramenta relata mitigated, mas emite uma nota recomendando a atualização.

SELinux/AppArmor. Gravações em /etc/modprobe.d/ no RHEL normalmente herdam system_u:object_r:modules_conf_t:s0 do diretório pai, portanto, normalmente nenhuma reclassificação manual deve ser necessária para o arquivo que o copyfail-guard grava.

initramfs. O algif_aead normalmente não é incluído na imagem de inicialização nas principais distribuições, portanto, o copyfail-guard não executa update-initramfs -u ou dracut -f após instalar a regra modprobe. Se a sua distribuição ou build local incluir algif_aead no initramfs, siga as orientações de kernel/módulo da sua distribuição.

Licença

Apache 2.0 — consulte LICENSE.

Baixar ferramenta