Open Source im professionellen Einsatz

Magento-Shopsystem: Angreifer kann Befehle ausführen

Seit November klafft eine kritische Lücke in dem Magento-Shopsystem, die von dem Hersteller bisher noch nicht behoben wurde. Ein Advisory erkllärt die Schwachstelle im Detail. Das Problem entsteht, wenn ein Vimeo-Video zu einer Produktbeschreibung hinzugefügt werden soll. In diesem Fall lädt die Applikation ein Preview-Bild via POST-Abfrage über eine Bild-URL. Handelt es sich allerdings um eine ungültige Bilddatei, so antwortet die Applikation mit folgender Meldung:

{"error":"Disallowed file type.","errorcode":0}

Nichtsdestrotrotz wird die Datei auf den Server heruntergeladen, denn zur eigentlichen Prüfung der Bilddatei ist das nötig. Allerdings wird sie auch nicht gelöscht, falls sie ungültig ist. Die Applikation legt die Datei auf dem Server an folgender Stelle ab:

/pub/media/tmp/catalog/product<em class="moz-txt-slash">/</em><em>X</em>/<em>Y</em>/<em>original filename</em>

Bei X und Y handelt es sich um die ersten beiden Buchstaben des Dateinamen. Ein Angreifer kann sich dieses Download-Verhalten zunutze machen, um Befehle auszuführen oder aber Cross-Site-Skripting-Attacken zu starten.

Um Befehle auszuführen, muss der Angreifer mit obigem Mechanismus zwei Dateien auf das System laden. Zunächst eine .htaccess-Datei, um das Ausführen von PHP-Skripten im Verzeichnis zu erlauben, und ein PHP-Skript, welches der Angreifer dann ausführen möchte. Die .htaccess-Datei muss lediglich folgenden Eintrag enthalten:

php_flag engine 1

Und ein einfacher Proof-Of-Concept-Exploit kann mit folgendem PHP-Content in der zweiten Datei realisiert werden:

<?php echo shell_exec($_GET['cmd']); ?

Ist das PHP-Skript mit obigem Upload-Mechanismus auf das System gebracht, so kann der Angreifer mit einer einfach URL der Art http://192.168.1.10/magento2/pub/media/tmp/catalog/product/_/h/.hshell.php?cmd=whoami beliebige Befehle über das hochgeladenene PHP-Skript ausführen.

comments powered by Disqus

Ausgabe 06/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.