CSRF Attack & Session Hijack Schwachstelle


12

Aus den Versionshinweisen zu 1.8CE Alpha:

Der Magento-Webshop verfügt über zusätzliche CSRF-Schutzfunktionen (Cross Site Request Forgery), sodass ein Betrüger nicht mehr die Identität eines neu registrierten Kunden annehmen und im Namen des Kunden Aktionen ausführen kann.

und:

In früheren Versionen war Magento während des Registrierungsvorgangs für einen Angriff auf Sitzungsfixierungen anfällig. Nach der Anmeldung bei ihrem Konto wurde die Sitzungs-ID eines registrierten Benutzers nicht geändert. Wenn ein Angreifer Kenntnis von einer nicht autorisierten Sitzungs-ID hatte und dieser Benutzer sich erfolgreich registriert, konnte der Angreifer das neu registrierte Konto übernehmen. Jetzt ändert sich die Sitzungs-ID nach erfolgreicher Registrierung, wodurch die unbefugte Verwendung eines Kontos unmöglich wird.

Wenn dies in den Versionshinweisen steht und in früheren Versionen keine Veröffentlichung zu diesem Thema zu sehen ist (suche ich an der falschen Stelle?), Bedeutet dies, dass aktuelle Geschäfte vor Version 1.8 möglicherweise für diese Angriffe geöffnet sind Vektoren ?

Quelle: http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes


Ich habe meine Antwort unten mit Details zum Abrufen eines Patches für diese Sicherheitsanfälligkeiten aktualisiert.
Davidalger

Antworten:


9

Kurz gesagt ja. CE 1.7 ist weiterhin anfällig für diese spezifischen Angriffe, da keine Sicherheitsupdates mit einem Patch veröffentlicht wurden.

Im letzteren Fall, bei dem es sich um einen Sitzungsfixierungsangriff handelt, handelt es sich um eine Aktualisierung der Sicherheitspraktiken, die Magento bereits verwendet hat, um die aktuellen Best Practices für die Sicherheit zu erfüllen. Es ist nicht wahrscheinlich, dass etwas an CE 1.7 ausgegeben wird, wenn ein Patch mit den CSRF-Fixes veröffentlicht wird.

Die eigentliche Frage ist, was genau diese CSRF-Schwachstellen waren, die behoben wurden. Zweifellos eine gute Sache, dass die Versionshinweise keine Details enthielten, wodurch alle früheren Versionen weiter gefährdet wurden, aber es wäre schön zu wissen, um alte Implementierungen zu patchen.

UPDATE 1: Nachdem ich mich an Magento gewandt hatte, um herauszufinden, wann Patches für die oben genannten Sicherheitsanfälligkeiten veröffentlicht werden, erhielt ich die folgende Antwort:

Erlauben Sie mir etwas Zeit, dies weiter zu untersuchen. Ich bin nicht sicher, ob Patches für diese beiden Elemente verfügbar sind, da sie in unserem System als Produktverbesserungen und nicht als Fehler aufgeführt sind. Ich werde Sie aktualisieren, wenn ich weitere Informationen erhalte.

Ich werde hier weitere Details veröffentlichen, sobald ich sie erhalte, und mein Bestes geben, um Patches herauszugeben, da es den Anschein hat, dass derzeit keine Patches existieren.

UPDATE Nr. 2: Nachdem ich mich mit dem Support-Team in Verbindung gesetzt hatte, konnte ich einen korrekten Patch für Magento EE 1.12.0.2 erhalten. Für Magento CE 1.7.0.2 wurde kein Patch veröffentlicht, und nach Kenntnis des Technikers, der sich intern mit diesem Thema befasst hat, ist nicht geplant, einen offiziellen Patch für CE 1.7.x zu veröffentlichen, statt die Probleme erst im kommenden CE 1.8 zu beheben stabile Version.

Was die EE-spezifische Patchdatei betrifft, kann ich sie (oder das Patchanwendungstool) hier nicht direkt veröffentlichen, da dies zweifellos einen Verstoß gegen die NDA zwischen Magento und mir selbst und dem Unternehmen darstellt, für das ich arbeite. Der Name des relevanten Patches lautet: "PATCH_SUPEE-1513_EE_1.12.0.2_v1.sh" - Wenn Sie die Enterprise Edition oder einen Client verwenden, können Sie diesen Patch zusammen mit einem Hinweis zu beim Magento-Support anfordern die CSRF-Schwachstellen, die es beheben soll.

Für Benutzer von CE 1.7.0.2 habe ich mir die Freiheit genommen, eine Patch-Datei (basierend auf dem von Magento bereitgestellten Patch) zu erstellen, die nur die Code-Hunks enthält, mit denen Magento CE 1.7.0.2-Kerncodedateien geändert werden. Normalerweise enthält es irrelevante Teile der hinzugefügten Kommentare und der angepassten Formatierung sowie die relevanten Codeänderungen. Um dies zu erstellen, muss der ursprüngliche Patch manuell geändert werden, um ihn mit dem bereitgestellten Patch-Anwendungstool anzuwenden. Anschließend muss mit git ein Patch basierend auf den vorgenommenen Änderungen generiert werden.

Die Patch-Datei, die ich erstellt habe, kann von folgender Seite heruntergeladen werden: https://gist.github.com/davidalger/5938568

Zum Anwenden des Patches müssen Sie zunächst eine CD in das Stammverzeichnis Ihrer Magento-Installation kopieren und den folgenden Befehl ausführen: patch -p1 -i ./Magento_CE_1.7.0.2_v1-CSRF_Patch.diff

Der EE-spezifische Patch enthielt Überprüfungen der Formularschlüssel für unternehmensspezifische Controller, Änderungen an Unternehmens- / Standard- und Unternehmens- / iPhone-Vorlagendateien, um Formularschlüssel in die Formulare aufzunehmen, die für die gepatchten Controlleraktionen verwendet werden, und zusätzliche Funktionen für den Ganzseiten-Cache, um dies ordnungsgemäß zu berücksichtigen Übergeben von Formularschlüsseln auf zwischengespeicherten Seiten.

HAFTUNGSAUSSCHLUSS: Ich habe weder den von Magento bereitgestellten EE-Patch noch den Patch, den ich in das verlinkte Verzeichnis hochgeladen habe, getestet. Der in der Liste, auf die verwiesen wird, bereitgestellte Patch enthält KEINE GARANTIE und behebt möglicherweise die in den CE 1.8-Versionshinweisen genannten Sicherheitsanfälligkeiten. Als ungeprüfter Patch kann auch nicht garantiert werden, dass er ganz oder teilweise funktioniert. Die Verwendung erfolgt auf eigenes Risiko und muss vor der Bereitstellung in einer Produktionsumgebung sorgfältig getestet werden. Wenn Sie Probleme mit dem Patch finden, lassen Sie es mich wissen und ich werde es aktualisieren.


1
Sicherheit durch Dunkelheit ist keine gute Idee. Sie sollten es öffentlich machen, damit jeder seine Installation patchen kann. Darüber hinaus sollte ein einfacher Unterschied zwischen den beiden Versionen einen guten Eindruck davon vermitteln, wie der Angriff funktioniert und wie ältere Installationen gepatcht werden. Daher sind die Informationen trotzdem raus.
Darokthar

1
Einverstanden, Dunkelheit ist überhaupt keine gute Sicherheit, und ich habe mit Sicherheit nicht versucht, darauf hinzuweisen. Verantwortungsbewusste Offenlegung ist jedoch etwas, das berücksichtigt werden muss. Soweit wir wissen, könnten die Sicherheitslücken bereits Wochen vor der Veröffentlichung von EE 1.13 und CE 1.8a1 bei Magento gemeldet worden sein. FWIW, ich werde einige Leute bei Magento kontaktieren, um herauszufinden, ob sie Patches für EE 1.12 haben und welche Pläne für 1.7-Installationen vorliegen. speziell für die CSRF-Schwachstellen.
Davidalger

Lassen Sie uns nach einem Update Ausschau halten und die Frage / Antwort entsprechend bearbeiten, wenn ein Patch veröffentlicht wird. Vielen Dank.
Philwinkle

Ich habe gerade ein Update mit einer vorläufigen Antwort von Magento gepostet. Anscheinend gibt es derzeit keine Patches, also werde ich sehen, was ich dagegen tun kann. Ich werde euch auf jeden Fall auf dem Laufenden halten ... hier und möglicherweise auch auf meinem Twitter.
Davidalger

2

Ich bin mir nicht 100% sicher, da ich das Problem aber nicht reproduzieren konnte

Das heißt, ein Betrüger kann sich nicht mehr als ein neu registrierter Kunde ausgeben

bedeutet, dass "ein Betrüger" bisher einen neu registrierten Kunden darstellen konnte.
Ich hoffe, es ist nur 'Semantik', aber ich denke, es bedeutet, was Sie fürchten, dass es bedeutet.


bis jetzt heißt fix in 1.8 - oder was meinst du?
Fabian Blechschmidt

Ja ... das meine ich.
Marius
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.