
Démontre CVE-2025-43919, un traversée de répertoire non authentifiée dans GNU Mailman 2.1.39 qui permet de lire des fichiers arbitraires du serveur via le point de terminaison /mailman/private/mailman.
Découvert par : Firudin Davudzada & Musazada Aydan
Date de divulgation : Avril 2025
ID CVE : CVE-2025-43919
Sévérité : 5.8 Moyen (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N)
Type d'attaque : À distance
Logiciel concerné : GNU Mailman 2.1.39 (fourni avec cPanel/WHM)
GNU Mailman 2.1.39, tel que fourni avec cPanel et WHM, contient une vulnérabilité critique de traversée de répertoire dans le point d'accès /mailman/private/mailman. Des attaquants non authentifiés peuvent exploiter cette faille pour lire des fichiers arbitraires sur le serveur, tels que /etc/passwd ou les fichiers de configuration de Mailman, en raison d'une validation insuffisante des entrées dans le script CGI private.py. Cette vulnérabilité présente des risques significatifs de divulgation d'informations et peut faciliter d'autres attaques lorsqu'elle est combinée avec d'autres exploits.
private.py (gère l'authentification aux archives privées)archive.py (logique de traitement des archives)Mailman/Handlers/ (logique principale des listes de diffusion).mboxusername dans les requêtes POST vers /mailman/private/mailman n'est pas assaini, permettant aux séquences ../ de traverser le système de fichiers.La commande suivante démontre un accès non autorisé à /etc/passwd :
curl -X POST -d "username=../../../../etc/passwd&password=x&submit=Let+me+in..." http://cible/mailman/private/mailman
Résultat attendu : Contenu de /etc/passwd ou d'autres fichiers ciblés, selon les permissions du serveur.
/mailman/private/mailman avec des paramètres username contenant .././etc/passwd, /etc/shadow si les permissions le permettent)..mbox pour extraire des données utilisateur ou du contenu d'email.Restreindre l'accès au point d'accès : Configurer le serveur web pour bloquer les accès non autorisés à /mailman/private :
<Location "/mailman/private">
Require ip 127.0.0.1
Deny from all
</Location>
Ou pour Nginx :
location /mailman/private {
deny all;
return 403;
}
Surveiller les journaux : Vérifier la présence de requêtes POST suspectes vers /mailman/private/mailman :
tail -f /var/log/httpd/access_log | grep "/mailman/private"
Firudin Davudzada et Musazada Aydan ont divulgué de manière responsable cette vulnérabilité lors d'un engagement de test d'intrusion autorisé. Merci à l'équipe CVE de MITRE pour la coordination.
Email : [email protected]