Pesquisadores documentaram duas falhas graves no servidor de e‑mail Exim quando compilado com suporte a SQLite para o mecanismo de hints. As vulnerabilidades permitem injeção SQL incompletamente corrigida e corrupção de heap que, em cenários específicos, podem levar a comprometimento remoto.
Descoberta e escopo
O estudo, atribuído a pesquisadores e citado em comunicado técnico, foca em instalações do Exim 4.99 que utilizam a base de dicas (SQLite hints database). A primeira falha é resultado de uma correção incompleta para CVE-2025-26794: a sanitização falha em escapar aspas simples em consultas SQL, permitindo payloads injetáveis via comandos SMTP que contenham endereços de remetente maliciosos.
Heap overflow e controle de memória
A segunda vulnerabilidade é um heap buffer overflow ligado ao uso de campos vindos da base de dados como limites de arrays no código do filtro de Bloom. O processamento de dados não validados pode provocar gravações além dos buffers alocados — relatórios indicam possibilidade de corrupção de até 1,5 MB de heap.
Vetor de exploração e pré‑condições
- Para exploração prática é necessário que o servidor Exim seja compilado com suporte a SQLite e utilize ACLs de rate‑limit que incorporem dados controlados por um atacante (p. ex. endereços de remetente).
- Configurações mais vulneráveis incluem modos «per_addr» com chaves explícitas por endereço e parâmetros «unique» que armazenam valores do remetente.
Impacto e limites das provas públicas
Os pesquisadores demonstraram corrupção de heap e manipulação de memória; contudo, relatos são claros ao apontar que, no ambiente de teste, proteções modernas como ASLR impediram o desenvolvimento de um exploit RCE completo. As fontes alertam que atores com maiores recursos podem, com tempo adicional, transformar a corrupção em execução remota de código.
Medidas corretivas e recomendações
Os mantenedores do Exim foram notificados e já existem recomendações técnicas de correção, incluindo:
- Adicionar escape adequado de aspas simples em consultas que montem strings para SQLite;
- Validar tamanhos de campos lidos do banco antes de usá‑los como limites de arrays;
- Enquanto patches são distribuídos, considerar desabilitar temporariamente o suporte a SQLite para hints e restringir configurações de rate‑limit que dependam de dados do remetente.
Implicações para administradores de e‑mail
Operadores de servidores Exim devem mapear rapidamente instalações com suporte a SQLite e avaliar ACLs que incorporem dados do remetente. Aplicar patches oficiais assim que publicados é a ação primária; como mitigação temporária, desativar o uso de hints baseados em SQLite reduz a superfície de ataque descrita nas comunicações técnicas.
O que falta nos relatos
Os comunicados públicos não detalham uma PoC de RCE pública completamente funcional nem uma estatística de quantos servidores reais executam Exim 4.99 com SQLite habilitado. Essas ausências dificultam estimativas precisas do alcance real do risco; por isso, resposta e inventário internos são essenciais.
Fontes
Documento técnico dos pesquisadores e cobertura jornalística que resume as recomendações dos mantenedores do Exim.