Schwere Sicherheitslücke im Web-Shop Magento

Am 9. Februar 2015 wurde relativ stillschweigend ein Patch für die bekannte Web-Shop-Software Magento veröffentlicht, der mehrere schwere Sicherheitslücken in fast allen aktuellen und auch älteren Magento-Versionen schließt. Betroffen ist sowohl die Community Edition als auch die Enterprise Edition. Über diese Sicherheitslücken lassen sich SQL-Befehle sowie PHP-Code einschleusen, dadurch könnten Angreifer beispielsweise zusätzliche Adminstrator-Benutzer erstellen, auf Kreditkartennummern von Kunden zugreifen oder Spam-Scripte installieren.

Die Details zu der Sicherheitslücke wurden mehrere Monate geheimgehalten, um Magento-Benutzern genügend Zeit zum Einspielen des Patches zu geben. Am 23. April wurden nun sämtliche Details zur dieser Sicherheitslücke veröffentlicht; bereits wenige Stunden nach Veröffentlichung finden sich Hinweise auf die ersten Angriffe in unseren Webserver-Logs. Wir haben die Angreifer mittlerweile so gut es geht per Webserver-Firewall ausgesperrt, einige ungepatchte Magento-Installationen sind jedoch bereits gehackt wurden. Offenbar haben die Angreifer zusätzliche Administrator-Benutzer angelegt, die unbedingt wieder gelöscht werden müssen. Wir werden betroffene Kunden in Kürze informieren. Wenn eine Installation bereits manipuliert wurde, sollten sicherheitshalber alle Passwörter (Administrator-Accounts, MySQL, FTP) geändert werden.

Bitte beachten Sie, dass durch unsere Webserver-Firewall Tests auf diese Sicherheitslücke (z.B. shoplift.byte.nl) falsche Ergebnisse liefern.

Falls Sie bei uns einen Magento-Shop betreiben, sollten Sie unbedingt den von Magento bereitgestellten Patch SUPEE-5344 installieren. Die Installation ist leider etwas kompliziert, da die Patches als Shell-Script für die jeweilige Magento-Version bereitgestellt werden, dass Sie per (S)FTP in das Wurzelverzeichnis Ihrer Magento-Installation kopieren und dort per SSH oder über ein PHP-Script ausführen müssen:

  • Patch per SSH einspielen
    Kopieren Sie die Patch-Datei per (S)FTP in das Magento-Installationsverzeichnis. Loggen Sie sich dann per SSH auf Ihrem Webserver ein. Falls Sie Magento in einem Unterverzeichnis installiert haben (z.B. magento), wechseln Sie zuerst in dieses Verzeichnis:
    cd magento
    Anschließend führen Sie folgenden Befehl aus:
    bash PATCH_SUPEE-5344_CE_1.8.0.0_v1-2015-02-10-08-10-38.sh
    Ersetzen Sie dabei PATCH_SUPEE-5344_CE_1.8.0.0_v1-2015-02-10-08-10-38.sh durch den Namen der Patch-Datei für Ihre Magento-Version.
  • Patch per PHP-Script einspielen
    Erzeugen Sie eine Text-Datei patch.php mit folgendem Inhalt:
    <?php
    passthru("/bin/bash PATCH_SUPEE-5344_CE_1.8.0.0_v1-2015-02-10-08-10-38.sh");
    ?>

    Ersetzen Sie dabei PATCH_SUPEE-5344_CE_1.8.0.0_v1-2015-02-10-08-10-38.sh durch den Namen der Patch-Datei für Ihre Magento-Version. Kopieren Sie die PHP-Datei und die Patch-Datei per (S)FTP in das Magento-Installationsverzeichnis auf den Webserver. Anschließend rufen Sie die PHP-Datei über Ihren Web-Browser unter der URL Ihres Webshops auf (z.B. „www.meinshop.de/patch.php“). Die beiden hochgeladenen Dateien sollten danach wieder gelöscht werden.

Falls der Patch erfolgreich war erscheint folgende Ausgabe:

Checking if patch can be applied/reverted successfully…
Patch was applied/reverted successfully.

Anschließend sollten Sie den Cache in Magento zurücksetzen (System -> Cache Management). Bitte prüfen Sie auch, ob der im August 2014 bereitgestellten Patch SUPEE-1533 installiert wurde, der eine ähnliche Sicherheitslücke schließt.

Bitte beachten Sie, dass auch die gegenwärtig aktuellste Magento-Version 1.9.1.0 von dieser Sicherheitslücke betroffen ist und gepatcht werden muss.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.