Vorab:

Wir veröffentlichen hiermit auch einen einfach zu nutzenden Proof-of-Concept, der aber inzwischen als allgemein bekannt gelten darf, da er ganz einfach per Suchmaschine zu finden ist.
Neben diesem Blogpost haben wir eine Liste von gut 20 betroffenen Shops als Bewertungsgrundlage an die Redaktionen von heise.de und golem.de geschickt.
Die Shop-Betreiber wurden von uns am 10. August angeschrieben.
Wir werden diese Liste nicht veröffentlichen.

Damit aber zum eigentlichen Thema, worum geht es?

Magento, die höchst erfolgreiche eCommerce-Plattform für Online-Shops jeder Gewichtsklasse, nutzt u.a. Zend-Framework – ein grundsätzlich professioneller Weg, den etliche andere open-source Projekte ebenfalls gehen.
Eine Lücke im Zend-Framework ermöglicht es nun, per XML-Injection, Zugang zu mehr oder weniger beliebigen Dateien des Servers zu erlangen.Zumindest erfahrene Angreifer können sehr sensible Konfigurationsfiles erhalten und letztendlich (sofern nicht andere Sicherungs-Maßnahmen vorhanden sind) Zugriff auf die Magento-Datenbank erlangen.
Das wären dann u.a. sämtliche Kundendaten inkl. der kompletten Bestellhistorie.

Mit diesem curl-Befehl lässt sich der eigene Shop testen:

curl -k -d '<?xml version="1.0"?><!DOCTYPE foo [ <!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "file:///etc/aliases" >]><methodCall><methodName>&xxe;</methodName></methodCall>' http://MEIN-SHOP/api/xmlrpc

Der Pfad „/api/xmlrpc“ kann je nach Shop in einem Unterverzeichnis, oder auch nur per SSL ansprechbar sein.

„Das hört sich aber gar nicht gut an!“

…werden Sie jetzt sagen und als Shop-Betreiber sofort für Abhilfe sorgen wollen – was gar nicht so schwer ist: Magento hat den Bug bereits am 5. Juli veröffentlicht und verschiedene Lösungswege beschrieben, darunter ein passender Patch. Inzwischen helfen Dutzende Fachartikel bei der Entscheidung, welcher Ansatz für den eigenen Shop praktikabel ist.

Um so größer unser Erstaunen daher vor wenigen Tagen!

Wir hatten unmittelbar nach Bekanntgabe des Bugs sämtliche Shops unserer Kunden abgesichert, wollten aber ein Gefühl dafür entwickeln, wie viele Shops im Markt generell betroffen waren.
Denn Shops, die während der frühen Phase eines Bugs nicht gepatcht werden, haben leider gute Aussichten, auch für einen längeren Zeitraum „offen“ zu bleiben: Weil die regelmässige Maintenance fehlt, weil die Zuständigkeiten zwischen Kunde, Agentur und Hoster ungeklärt sind, und, und, und…

Um es kurz zu machen: Bei einem Test am 10. August von rund 50 wahllos ausgewählten Shops waren knapp über 20 weiterhin angreifbar – über einen Monat nach Bekanntgabe der Lücke!

Nein, das ist natürlich nicht unmittelbar unser Problem (obwohl wir auch privat gerne auf den Schutz unserer Kundendaten vertrauen). Aber eine Sicherheitslücke dieser Größenordnung sorgt erfahrungsgemäss häufig für „Sippenhaft“ ganzer Produkte.

„Der große Nachteil an WordPress ist seine Unsicherheit!“

Kennen Sie solche Aussagen? Keine Web-Plattform kommt über einen längeren Zeitraum ohne fachkundige Wartung aus. Ist genau dies aber der Fall, und die Plattform wird „gehackt“, dann bleibt nur der schale Geschmack eines „Bugs“ als Markteindruck zurück.
Im vorliegenden Fall stammt der Fehler noch nicht einmal von Magento selbst – und wird dennoch an der Plattform „haften“ bleiben: Sollten bei einem kritischen Shop „Daten verloren“ gehen, dann wird später in der Aussenwahrnehmung nur ein „Magento hatte eine Lücke“ hängen bleiben.

Und spätestens das machen wir gerne zu unserem Problem

Weil ein hervorragendes Produkt im Extremfall nicht mehr einsetzbar ist, wenn es als unsicher eingestuft wird. Und weil das Problem eben unabhängig von einer konkreten Plattform existiert.

Wo die Gründe in mangelhaften Betriebskonzepten, wenig nativer Entwicklung oder sonstigen Fehlentscheidungen zu suchen sind, wird das „Sicherheitsleck“ im Nachhinein als quasi system-immanent angesehen.

Dies ist daher kein Plädoyer für Magento, sondern für die kompetente Entwicklung und den verantwortungsvollen Betrieb von Online-Shops.
Jeder Betreiber eines Magento-Shops muss diese Lücke schliessen. Jetzt. Gleich.
Weil unmittelbar Kundendaten gefährdet sind.
Und am Ende ein tolles Produkt.

Es ist offenbar notwendig die Information weiter zu verteilen, weil genügend Betreiber noch nicht von dem Risiko zu wissen scheinen.
Und deshalb ist es auch so wichtig, dass heise.de und golem.de darüber berichten.

Weitere Referenzen

 

Update

14.08.2012, 13:11
Nach entsprechenden Berichten wurden die Links zu heise.de und golem.de angepasst.