
Authenticated RCE for Webmin 1.9.0
Authentifizierte RCE für Webmin 1.9.0
CVE-2019-9624 ist eine authentifizierte Remote Code Execution (RCE)-Schwachstelle in Webmin-Versionen bis 1.900. Sie erlaubt einem administrativen Benutzer die Ausführung beliebiger Systembefehle mit Root-Rechten über die Module shell oder file.
Webmin verwendet einen benutzerdefinierten Authentifizierungs-Handler. Für einen erfolgreichen automatisierten Login sind folgende Dinge erforderlich:
testing=1 muss gesendet werden, um Webmins Prüfung auf Browser-Cookie-Unterstützung zu erfüllen.Referer-Header, um Cross-Site Request Forgery (CSRF) zu verhindern. Wenn der Header nicht mit dem erwarteten CGI-Pfad übereinstimmt, wird der Login abgelehnt.sid-Cookie aus, das als Berechtigungsnachweis für alle nachfolgenden Befehle dient.Eine große Hürde bei der Ausnutzung von Webmin 1.900 ist die strenge Eingabeanalyse. Die meisten Module erwarten eine Multipart/Form-Data (MIME)-Kodierung.
Expecting form-data encoding, but got normal encoding.cmd-Parameter zu kapseln und so einen Datei-Upload oder eine komplexe Formularübermittlung zu simulieren.Das Payload wird an /shell/index.cgi gesendet. Das Perl-Backend nimmt die Variable cmd und führt sie direkt auf dem Hostsystem aus. Durch die Angabe eines pwd-Parameters, der auf /root gesetzt ist, stellen wir sicher, dass der Befehl im Kontext des Home-Verzeichnisses des Root-Benutzers ausgeführt wird.
| Komponente | Funktion |
|---|---|
| Ziel-URL |
Normalerweise http://<IP>:10000 oder ein proxierter /webmin-Pfad. |
| Payload | Ein beliebiger Linux-Befehl (z. B. id, whoami, cat /etc/shadow). |