Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
Dead.Letter-CVE-2026-45185 — Scanner de vulnerabilidade baseado em shell para CVE-2026-45185 (Dead.Letter) no Exim MTA. Detecta use-after-free em builds com GnuTLS, verifica versão, biblioteca TLS e configuração CHUNKING. Produz saída JSON para integração CI/CD. | Kitploit
Ferramentas/GitHubGitHub/liamromanis101/dead.letter-cve-2026-45185
Scanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoScripting e AutomaçãoAuditoria de ConfiguraçãoSegurança de RedeDevSecOpsSegurança de Email
GitHub
liamromanis101/dead.letter-cve-2026-45185

Dead.Letter-CVE-2026-45185

Scanner de vulnerabilidade baseado em shell para CVE-2026-45185 (Dead.Letter) no Exim MTA. Detecta use-after-free em builds com GnuTLS, verifica versão, biblioteca TLS e configuração CHUNKING. Produz saída JSON para integração CI/CD.

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

CVE-2026-45185 — "Dead.Letter" Scanner de Vulnerabilidade do Exim

Um script shell para detectar se um sistema Linux é vulnerável ao CVE-2026-45185, um use-after-free no agente de transferência de correio Exim que pode levar à execução remota de código.

Projetado para uso em pipelines CI/CD, ferramentas de gerenciamento de configuração e auditorias ad-hoc do sistema. Produz saída tanto legível por humanos quanto legível por máquina (JSON).


A Vulnerabilidade

CVE-2026-45185 (também conhecido como: Dead.Letter) é um bug use-after-free na análise de corpo de mensagem BDAT (dados binários) do Exim, acionado quando o TLS é tratado pelo GnuTLS.

Durante o desligamento do TLS, o Exim libera seu buffer de transferência TLS — mas um invólucro de recepção BDAT aninhado ainda pode processar bytes recebidos e chamar ungetc(), escrevendo um único byte \n na região liberada. Essa escrita de um byte corrompe metadados do alocador de heap, a partir dos quais um invasor pode obter primitivas de memória adicionais e alcançar execução remota de código.

PropriedadeDetalhe
CVECVE-2026-45185
AliasDead.Letter
TipoUse-After-Free (CWE-416)
ComponenteManipulador BDAT/CHUNKING do Exim (apenas builds com GnuTLS)
Vetor de ataqueRede — não autenticado, requer apenas uma conexão TLS e a extensão CHUNKING
Versões afetadasExim 4.97 – 4.99.2, apenas builds com GnuTLS
Corrigido emExim 4.99.3
Descoberto porFederico Kirschbaum, XBOW Security Lab (relatado em 1 de maio de 2026)

Builds com OpenSSL não são afetados. A vulnerabilidade é específica para Exim compilado com USE_GNUTLS=yes. Se seu Exim possui vínculo com OpenSSL, você não está vulnerável independentemente da versão.


O que o Script Verifica

O script funciona através de uma árvore de decisão, parando e marcando o sistema como não vulnerável assim que uma condição segura definitiva é confirmada:

Verificação 1 — Presença do Exim Pesquisa em $PATH e locais de instalação comuns (/usr/sbin/exim, /usr/sbin/exim4, /usr/local/sbin/exim). Se o Exim não for encontrado, o sistema não é vulnerável e o script sai imediatamente.

Verificação 2 — Versão do Exim Analisa a saída de exim -bV e compara com a faixa afetada (4.97 – 4.99.2). Versões ≥ 4.99.3 são tratadas como corrigidas. Versões fora da faixa conhecida são marcadas como não vulneráveis (com uma nota se não forem reconhecidas).

Verificação 3 — Biblioteca TLS (a porta crítica) Usa três métodos de detecção em sequência:

  1. Informações de build de exim -bV (mais confiável — o Exim relata seus próprios recursos de tempo de compilação, ex: Support for: GnuTLS)
  2. Vinculação de bibliotecas compartilhadas via ldd
  3. Varredura de binário com strings (fallback)

Se OpenSSL for detectado → o veredito muda para não vulnerável independentemente da versão. Se GnuTLS for detectado → a superfície de ataque é confirmada como presente. Se nenhum puder ser determinado → o resultado é inconclusivo.

Verificação 4 — Configuração de CHUNKING/BDAT (verificação de workaround) Só é executada se o sistema ainda estiver marcado como vulnerável neste ponto. Verifica se chunking_advertise_hosts foi explicitamente definido como um valor vazio no arquivo de configuração do Exim, o que desabilita a publicidade de BDAT e bloqueia o vetor de ataque. Lida tanto com arquivos de configuração únicos quanto com layout de configuração dividida do Debian (fragmentos de /etc/exim4/conf.d/).

Nota: se chunking_advertise_hosts estiver ausente da configuração (o padrão), o Exim anuncia CHUNKING para todos os hosts (*). A opção deve ser explicitamente definida com um valor vazio para desabilitá-la.

Verificação 5 — Mitigações informacionais do sistema Não altera o veredito, mas relata fatores que afetam a explorabilidade:

  • Nível ASLR (/proc/sys/kernel/randomize_va_space) — deve ser 2
  • Versão do glibc — 2.32+ tem verificações de integridade de metadados de heap mais fortes
  • Saída de checksec para o binário do Exim (PIE, RELRO, stack canaries) se checksec estiver instalado
  • Sandboxing da unit systemd: MemoryDenyWriteExecute, NoNewPrivileges, SystemCallFilter

Requisitos

  • Bash 4.0 ou posterior
  • Linux com sistema de arquivos /proc (para verificação de ASLR)
  • Coreutils padrão: grep, awk, ldd, head
  • checksec (opcional — para análise de hardening do binário)
  • systemctl (opcional — para inspeção da unit systemd)
  • Deve ser executado com privilégios suficientes para ler o arquivo de configuração do Exim (tipicamente root, ou um usuário no grupo Debian-exim no Debian/Ubuntu)

Nenhuma dependência externa é necessária para as verificações principais de vulnerabilidade.


Uso

chmod +x check_cve_2026_45185.sh
./check_cve_2026_45185.sh

Opções

FlagDescrição
--jsonSaída dos resultados como um objeto JSON (veja abaixo)
--quietSuprime toda a saída; apenas o código de saída é definido
--no-colorDesabilita códigos de cor ANSI (útil para arquivos de log)
--help / -hExibe informações de uso

Códigos de Saída

CódigoSignificado
0Não vulnerável (ou uma condição segura definitiva foi encontrada)
1Vulnerável
2Inconclusivo — não foi possível determinar um ou mais fatos necessários; trate como potencialmente vulnerável
3Erro do script ou ambiente não suportado

Exemplo de Saída

Legível por humanos (padrão)

CVE-2026-45185 (Dead.Letter) — Avaliação de Vulnerabilidade do Exim
===================================================================

[VERIFICAÇÃO] Verificando instalação do Exim...
[AVISO]  Binário do Exim encontrado: /usr/sbin/exim4
[VERIFICAÇÃO] Verificando versão do Exim...
        Versão detectada: 4.99.1
[FALHA]  Exim 4.99.1 está na faixa vulnerável (4.97 – 4.99.2).
[VERIFICAÇÃO] Verificando vinculação da biblioteca TLS (GnuTLS vs OpenSSL)...
[FALHA]  Exim está vinculado ao GnuTLS — este build ESTÁ afetado.
[VERIFICAÇÃO] Verificando configuração de publicidade CHUNKING (BDAT)...
        Arquivo de configuração: /etc/exim4/exim4.conf
[AVISO]  chunking_advertise_hosts não está desabilitado — BDAT está ativo (por padrão anuncia para todos os hosts).
        Dica: adicione 'chunking_advertise_hosts =' (valor vazio) à sua configuração principal para desabilitar BDAT como workaround.
[VERIFICAÇÃO] Verificando mitigações de exploração a nível de sistema (informativo)...
[APROVADO]  ASLR: randomização completa (randomize_va_space=2)
        Versão do glibc: 2.35 (2.32+ tem verificações de metadados de heap mais fortes)
[AVISO]  systemd: MemoryDenyWriteExecute não definido — recomenda-se adicionar à unit
[AVISO]  systemd: NoNewPrivileges não definido

------------------------------------------------------------
VEREDITO
------------------------------------------------------------
VULNERÁVEL — CVE-2026-45185
  Motivo: Versão do Exim 4.99.1 está na faixa vulnerável 4.97–4.99.2

Ações recomendadas:
  1. Atualizar o Exim para 4.99.3 ou posterior (correção principal)
  2. Como workaround, defina 'chunking_advertise_hosts =' (vazio) na configuração do exim
  3. Adicione MemoryDenyWriteExecute=yes e NoNewPrivileges=yes à unit systemd
  4. Certifique-se de que ASLR está em 2: echo 2 > /proc/sys/kernel/randomize_va_space
------------------------------------------------------------

Saída JSON (--json)

Baixar ferramenta