
Proof-of-Concept für CVE-2025-43919: Verzeichnis-Traversal in GNU Mailman 2.1.39 (cPanel/WHM). Nutzt unauthentifizierte POST-Anfragen aus, um beliebige Serverdateien zu lesen, einschließlich /etc/passwd und Konfigurationsdaten.
Entdeckt von: Firudin Davudzada & Musazada Aydan
Offenlegungsdatum: April 2025
CVE-ID: CVE-2025-43919
Schweregrad: 5.8 Mittel (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N)
Angriffstyp: Remote
Betroffene Software: GNU Mailman 2.1.39 (im Bundle mit cPanel/WHM)
GNU Mailman 2.1.39, wie es mit cPanel und WHM gebündelt wird, enthält eine kritische Verzeichnis-Traversal-Schwachstelle im Endpunkt /mailman/private/mailman. Nicht authentifizierte Angreifer können diese Schwachstelle ausnutzen, um beliebige Dateien auf dem Server zu lesen, wie z.B. /etc/passwd oder Mailman-Konfigurationsdateien, aufgrund unzureichender Eingabevalidierung im CGI-Skript private.py. Diese Schwachstelle birgt erhebliche Risiken für die Offenlegung von Informationen und kann weitere Angriffe erleichtern, wenn sie mit anderen Exploits kombiniert wird.
private.py (behandelt Authentifizierung für private Archive)archive.py (Logik zur Archivverarbeitung)Mailman/Handlers/ (Kernlogik für Mailinglisten).mbox-Archivdateienusername in POST-Anfragen an /mailman/private/mailman wird nicht bereinigt, sodass ../-Sequenzen einen Dateisystem-Durchgriff ermöglichen.Der folgende Befehl demonstriert den unbefugten Zugriff auf /etc/passwd:
curl -X POST -d "username=../../../../etc/passwd&password=x&submit=Let+me+in..." http://target/mailman/private/mailman
Erwartete Ausgabe: Inhalt von /etc/passwd oder anderen anvisierten Dateien, abhängig von den Serverberechtigungen.
/mailman/private/mailman mit manipulierten username-Parametern, die ../ enthalten./etc/passwd, /etc/shadow falls Berechtigungen es erlauben)..mbox-Archive zur Extraktion von Benutzerdaten oder E-Mail-Inhalten.Endpunktzugriff einschränken: Konfigurieren Sie den Webserver so, dass unbefugter Zugriff auf /mailman/private blockiert wird:
<Location "/mailman/private">
Require ip 127.0.0.1
Deny from all
</Location>
Oder für Nginx:
location /mailman/private {
deny all;
return 403;
}
Protokolle überwachen: Prüfen Sie auf verdächtige POST-Anfragen an /mailman/private/mailman:
tail -f /var/log/httpd/access_log | grep "/mailman/private"
Firudin Davudzada und Musazada Aydan haben diese Schwachstelle im Rahmen eines genehmigten Penetrationstests verantwortungsvoll offengelegt. Dank an das MITRE CVE-Team für die Koordination.
E-Mail: [email protected]