OK, das muss sich jemand fragen: Heute, dem 07.07.2015, wurde ein neuer Sicherheitspatch für Magento <1.9.2 veröffentlicht.
Aktualisieren Sie Ihre Shops so schnell wie möglich!
Aber was hat sich geändert? Gibt es bekannte Exploits der abgedeckten Sicherheitsprobleme? Was ist das Schlimmste, das passieren konnte?
Und gibt es irgendetwas, das kaputt gehen kann? Wie bei SUPEE-5994, wo es nicht möglich war, den Patch anzuwenden, wenn das Download-Verzeichnis fehlte ...
magento-1.9
security
patches
supee-6285
Fabian Schmengler
quelle
quelle
Antworten:
Wie bereits erwähnt, werden die behobenen Sicherheitslücken auf dieser offiziellen Seite (neue Händlerdokumente) ausführlich beschrieben: http://merch.docs.magento.com/ce/user_guide/Magento_Community_Edition_User_Guide.html#magento/patch-releases-2015.html
Zusammenfassung
Nach dem Patchen einiger Läden habe ich Folgendes gesammelt:
Theme-Patches
Einige Designdateien wurden mit Escape-Zeichen versehen, um mögliche XSS-Angriffe zu verhindern:
checkout/cart.phtml
checkout/cart/noItems.phtml
checkout/onepage/failure.phtml
rss/order/details.phtml
wishlist/email/rss.phtml
Wenn Ihre Designs eine dieser Vorlagen enthalten oder wenn Sie Änderungen direkt in vorgenommen haben
base/default
(viel Glück, Sie sind fertig), müssen Sie diese manuell patchen:Ersetzen Sie in den Checkout-Vorlagen alle Vorkommen von
mit
in
wishlist/email/rss.phtml
ersetzenmit
In
rss/order/details.phtml
ersetzenmit
Berechtigungen
.htaccess
Dateien wurden hinzugefügtdownloader/Maged
unddownloader/lib
zu verbieten den direkten Zugriff auf Quelldateien. Wenn Sie nginx verwenden, müssen Sie diese Regeln hinzufügen, um dasselbe zu erreichen (danke an Ben Lessani für diese):Ich empfehle aber auszuschließen
downloader
von Bereitstellungen auf einem Live-Systemsystem In diesem Fall müssen Sie keine Maßnahmen ergreifen.Administratorrechte (ACL)
Wenn Sie eingeschränkte Administratorkonten verwenden, funktionieren einige Menüs von Erweiterungen von Drittanbietern möglicherweise nicht mehr für diese. Der Grund dafür ist , dass der Standardrückgabewert
Mage_Adminhtml_Controller_Action::_isAllowed()
wird von geänderttrue
zuMage::getSingleton('admin/session')->isAllowed('admin')
. Erweiterungen, die diese Methode in ihren Admin-Controllern nicht überschreiben, weil sie die ACL nicht verwenden, benötigen jetzt "ALL". .Die einzige Lösung besteht darin, die Erweiterungen zu patchen und diese Methode allen Administratoren hinzuzufügen:
Oder wenn tatsächlich eine ACL-Ressource definiert ist in
etc/adminhtml.xml
:(Sie können sehen, dass der Patch dasselbe tut für
Phoenix_Moneybookers
Wie in älteren Magento-Versionen wie 1.7, in denen diese Erweiterung enthalten war.)Ausführlichere Informationen zu diesem Problem und eine Erläuterung zum Definieren fehlender ACL-Ressourcen finden Sie unter: Fehler bei Zugriff verweigert nach der Installation von SUPEE-6285
Mögliche Fehler beim Anwenden des Patches
Botschaft:
Grund: Das
default/modern
Theme wurde aus der Installation entferntLösung: Hinzufügen
app/design/frontend/default/modern
von einem neuen Magento-Download (sollte die gleiche Version wie Ihr Shop sein). Sie können diesen Spiegel auch verwenden: https://github.com/firegento/magento . Nachdem Sie den Patch erfolgreich angewendet haben, können Sie das Design wieder entfernen.Botschaft
Grund: Das
downloader
Verzeichnis wurde aus der Installation entferntLösung: Hinzufügen
downloader
von einem neuen Magento-Download (sollte die gleiche Version wie Ihr Shop sein). Sie können diesen Spiegel auch verwenden: https://github.com/firegento/magento . Nachdem Sie den Patch erfolgreich installiert haben, können Sie das Verzeichnis wieder entfernen.Nachricht: Etwas Ähnliches wie
Grund: Die Dateien werden mit
\r\n
(CRLF, Windows-Zeilenumbruch) oder\r
(CR, Mac-Zeilenumbruch) anstelle von\n
(LF, Unix-Zeilenumbruch) gespeichert .Lösung: Konvertieren Sie einfach die Zeilenumbrüche. Ihr Texteditor oder Ihre IDE sollten dazu in der Lage sein.
quelle
_isAllowed
Methode nicht implementierten . Glücklicherweise hatten wir ACL im Modul und außer dem Hinzufügen der Methode waren keine weiteren Aktionen erforderlich. Außerdem ist mir die erste Fehlermeldung mit demdefault/modern
verschobenen Thema begegnet (ich habe den Schuldigen auch dank Git gefunden). +1 dafürVia @ http://blog.philwinkle.com/supee-6285-broken-down/
Nachdem ich hinzugefügt habe:
Für einen der Controller von Drittanbietern begann der Admin-Bereich wieder zu "arbeiten" ...
Also werden wir bald einen weiteren Magento Patch bekommen? Dies scheint ein größeres Problem zu sein ...
quelle
Wenn Sie viele Community- / lokale Erweiterungen haben, sollten Sie dieser Änderung in SUPEE-6285, die sich auf die
app/code/core/Mage/Adminhtml/Controller/Action.php
Zeile 666 auswirkt und von dieser abhängt, besondere Aufmerksamkeit schenken (dies ist die Patchdatei von EE 1.14.0.1):Alle benutzerdefinierten Module, die keine eigenen Administratorressourcen implementieren, sind von der obigen Änderung betroffen, und der Zugriff wird verweigert, es sei denn, der betreffende Administrator verfügt über vollständige Administratorrechte.
Wenn Sie an anderer Stelle im Patch nachschauen, werden Sie feststellen, dass viele der enthaltenen Kernmodule aktualisiert wurden. Dies wirkt sich jedoch wahrscheinlich auf viele Module von Drittanbietern aus. Achten Sie daher besonders darauf, etwaige Erweiterungen von Drittanbietern in Ihrem Site-Post-Patch zu überprüfen Sie können immer noch darauf zugreifen!
quelle
Offenbar wurde die Patch-Release-Seite mit Informationen zu den Auswirkungen aktualisiert.
Ich muss noch auf einer Produktionsstätte installieren und testen
quelle
Die vollständige Liste der geänderten Dateien nach dem Anwenden des Patches finden Sie auch in
app/etc/applied.patches.list
quelle
In meinem Fall für Module von Drittanbietern hat das Hinzufügen des folgenden Codes zu den AdminHTML-Controllern funktioniert:
quelle