Für Magento 1 ist ein neuer Sicherheitspatch verfügbar, der 25 APPSEC-Probleme behebt
https://magento.com/security/patches/supee-10752
Auf welche allgemeinen Probleme müssen Sie achten, wenn Sie diesen Patch anwenden?
SUPEE-10752, Magento Commerce 1.14.3.9 und Open Source 1.9.3.9 enthalten mehrere Sicherheitsverbesserungen, mit denen authentifizierte Remote-Codeausführung (RCE) von Admin-Benutzern, Cross-Site Request Forgery (CSRF) und andere Sicherheitsanfälligkeiten geschlossen werden können.
Informationen zu allen Änderungen in den Versionen 1.14.3.9 und 1.9.3.9 finden Sie in den Versionshinweisen zu Magento Commerce und Magento Open Source.
Patches und Upgrades sind für die folgenden Magento-Versionen verfügbar:
Magento Commerce 1.9.0.0-1.14.3.9: SUPEE-10752 oder Upgrade auf Magento Commerce 1.14.3.9.
Magento Open Source 1.5.0.0-1.9.3.9: SUPEE-10752 oder Upgrade auf Magento Open Source 1.9.3.9.
quelle
Antworten:
Wie von Official Docs By Magento erwähnt :
Konflikte während der Installation des Patches SUPEE-10752 werden meist durch die Installation von Version 1 des vorherigen Patches ( SUPEE-10570v1) verursacht ) verursacht.
Bitte entfernen Sie SUPEE-10570v1 und installieren Sie SUPEE-10570v2, bevor Sie den neuen SUPEE-10752 installieren.
quelle
Die folgenden Dateien werden nach dem Anwenden des Patches geändert / erstellt
Für die EE Edition werden die folgenden Dateien mit Ausnahme von CE hinzugefügt
Wenn jemand die Datei onepage.php überschreibt, aktualisieren Sie diese bitte.
Zur Schlüsselüberprüfung hinzugefügt Bitte überprüfen Sie, ob in Ihrem Warenkorb ein Formularschlüssel vorhanden ist
cron.php: Ausnahmebehandlung in der cron.php-Datei
GD2: Gibt den echten MIME-Typ zurück.
Wenn Sie nginx anstelle von Apache verwenden, müssen Sie Ihre Konfiguration aktualisieren, um diese Änderung zu duplizieren.
Versandart neu hinzugefügte / aktualisierte Dateien sind:
Escapehtml-Dateien:
Frontend-Dateien für herunterladbare Produkte: Wenn Sie herunterladbare Produkte verwenden, aktualisieren Sie bitte die Dateien in Ihren Designdateien.
Code überprüfen
Ersetzen mit
Code überprüfen
Ersetzen mit
Code überprüfen
Ersetzen mit
Code überprüfen
Ersetzen mit
Ersetzen mit
Ersetzen mit
Code überprüfen
Ersetzen mit
Code überprüfen
Ersetzen mit
Andere Escapehtml-Dateien:
quelle
Die Änderung der überladenen
filter
Methode inZend_Filter_PregReplace
ist naiv und setzt voraus, dass$this->_matchPattern
es sich immer um eine Zeichenfolge handelt. Diese Eigenschaft wird anschließend als erstes Argument an übergebenpreg_replace
. In Wirklichkeit ist ein Array auch ein völlig gültiges Argument. Diese Tatsache wird tatsächlich von mehrerenZend_Filter
Kernklassen (wie z. B.Zend_Filter_Word_SeparatorToCamelCase
) verwendet. Jede Erweiterung / Verzweigung von Code, die diesen Filter oder eine seiner Ableitungen mit einem Array-Argument für verwendet_matchPattern
, wird ausgelöstWarning: substr() expects parameter 1 to be a string, array given
.Ein grobes Beispiel dafür, was es wahrscheinlich tun sollte, wäre etwas in der Art von:
Obwohl ich dies noch nicht gründlich getestet habe.
EDIT: Es ist erwähnenswert, dass die oben vorgeschlagene Lösung zwar die Fehler verhindern sollte, die Implementierung aber technisch noch ein bisschen naiv und anfällig für Fehlalarme ist. Es wird davon ausgegangen, dass das Regex-Trennzeichen, das das Muster von den Modifikatoren trennt, mit dem am Anfang der Zeichenfolge übereinstimmt. Technisch muss dies nicht der Fall sein, da PHP verschiedene Begrenzer für Klammern unterstützt. Daher bestimmt die gültige Eingabe
{hello}is
, welche Modifikatorenhello}is
(und nicht die tatsächlichen Modifikatoren vonis
) sind, und löst daher eine Ausnahme aus, obwohl das Muster dene
Modifikator nicht tatsächlich enthält .quelle
1.7.0.2 Versionsproblem: Nachdem Sie den Patch installiert und eine Seite ausgecheckt haben (generische Magento-Prüfung), wird dieser Fehler angezeigt
Error: Syntax Error, unerwartet
Beim Umkehren des Patches verschwindet der Fehler.
Ich habe mich eingehender mit dieser Frage befasst und festgestellt, dass der Patch der Datei onepage.php die folgende Zeile hinzugefügt hat.
LÖSUNG: Danke an @FabianSchmengler
UPDATE AUF PHP Version 5.4 und höher!
quelle
bekanntes Problem :-
Wenn Ihr benutzerdefinierter Code oder Ihre benutzerdefinierte Erweiterung
Zend/Filter/PregReplace.ph
p mit dem Modifikator e verwendet, wird jetzt aufgrund möglicher RCE-Probleme ein Fehler zurückgegeben.Dieser Patch folgt unter Sicherheit.
+++ app/code/core/Mage/Admin/Model/User.php
und dann
class Mage_Admin_Model_User
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Composite/Fieldset/Options.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php
app/code/core/Mage/Catalog/Model/Product.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Datetime.php
app/design/frontend/base/default/template/downloadable/catalog/product/links.phtml
app/design/frontend/base/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/base/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/design/frontend/default/iphone/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Mage_Adminhtml_Model_LayoutUpdate_Validator
Mage_Adminhtml_Model_LayoutUpdate_Validator
app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php
app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController
app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php
lib/Varien/Image/Adapter/Gd2.php
app/code/core/Mage/Checkout/Model/Api/Resource/Customer.php
app/code/core/Mage/Checkout/Model/Type/Onepage.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php
app/code/core/Mage/Customer/controllers/AccountController.php
Mage_Customer_AccountController
``
app/code/core/Mage/Log/Model/Visitor.php
app/code/core/Mage/Usa/Helper/Data.php
HINZUGEFÜGTE Dateien für UPS
Einstellung für diese neue Funktionalität hinzugefügt
app/code/core/Mage/Usa/etc/system.xml
Linie 843
886
app/design/adminhtml/default/default/template/system/shipping/ups.phtml
1> 1) Produktvalidierung für das Bundle
app/design/adminhtml/default/default/template/bundle/product/edit/bundle/option.phtml
quelle
Es sieht so aus, als ob ein Teil des Patches htmlEscaping all "getLinksTitle ()" ist. Sie haben jedoch die folgenden Dateien vergessen (diese basieren auf 1.8.1).
quelle
Patch funktioniert nicht auf Vanille Magento CE 1.8.0.0
Update: Lösung unten hinzugefügt.
Problem:
Angewandte frühere Patches:
Lösung
Behoben durch Bearbeiten der Patch-Datei. Der Patch für wurde
downloadable.phtml
durch den Patch fürv1.7.0.2
in der ursprünglichen Patchdatei ersetzt. Dies sind die Zeilen 1854-1862.Dies liegt hauptsächlich an der Einrückung in der Datei. Da haben sich die Änderungen für
downloadable.phtml
inV1.7.0.2
stärker eingerückt.Lösung 2
Ich hatte ein ähnliches Problem, aber ich konnte es beheben, indem ich die Originaldatei in einem Editor erneut speicherte, der erzwang, dass das Zeilenende Unix-LFs und nicht Windows-CRLFs oder Mac-CRs waren
quelle
In Bezug auf Matt Antley enthielten sie aus diesem Grund möglicherweise kein SUPEE-10570v2
Soweit ich weiß, war der Checkout-Fehler nicht sehr häufig und so entschieden sie sich, bei SUPEE-10570 zu bleiben, was vor den beiden risikoarmen Sicherheitsproblemen schützt ?!
quelle
SUPEE-10570v2
es erneut anwenden müssen.SUPEE-10752
und ein wenig mit der Waffe sprang. Nochmals vielen Dank für die Kommentare.Patch funktioniert nicht auf Vanille Magento CE 1.6.0.0
Update: Lösung unten hinzugefügt.
Probleme:
Angewandte frühere Patches:
Gelöst
Ich habe dieses Problem durch Ändern der Patch-Datei behoben. Ich habe die Hunks, die die Probleme gaben, durch die entsprechenden aus dem Patch für v1.5.1.0 ersetzt. In der ursprünglichen Patch-Datei sind dies die Zeilen 167-177 und 663-670.
quelle
In EE v1.14.2.4 musste ich nach der Anwendung von SUPEE-10752 auch den folgenden Patch anwenden, um das Problem zu beheben, bei dem der Checkout anstelle der Erfolgsseite auf die Homepage umgeleitet wird:
Datei: invalid_session_fix-2018-03-14-05-10-19.patch
Das oben genannte Update finden Sie in https://magento.com/tech-resources/download unter SUPEE-10570 > invalid_session_fix.patch (0 MB).
quelle
Ich habe nach diesem Patch ein Problem festgestellt. Ich kann "Freie Methode" für "UPS-Typ" "United Parcel Service XML" nicht festlegen. Magento löst einen Fehler aus, wenn eine Methode in der Dropdown-Liste "Freie Methode" ausgewählt wird. Fehler: " Feld" Ups Free-Methode "hat falschen Wert. "
Hat jemand das gleiche Problem und hat die Lösung?
Danke im Voraus!
quelle
Auf 1.6 ist der Patch ups.phtml defekt. Es bezieht sich auf $ savedOriginShipment, $ savedFreeShipment mit einem Tippfehler in 1.6 ($ stroredOriginShipment und $ stroredFreeShipment). Außerdem verweist es auf $ savedUpsType, das in 1.6 überhaupt nicht existiert.
quelle
Wir haben ein Problem mit 1.9.1.0 und 1.9.2.4 festgestellt (haben es nicht auf anderen getestet). Es taucht nicht bei allen unseren Projekten auf, hat sich aber bei mehreren wiederholt. Wir glauben, dass dies irgendwann Auswirkungen auf die Projekte hat, in denen SUPEE-10570v1 installiert war.
Wenn sich ein Benutzer nach dem Anwenden des Patches anmeldet, wird seine Kontoseite einwandfrei angezeigt. Wenn sie jedoch versuchen, zu einer anderen Seite der Site zurückzukehren, reagiert die Seite nicht mehr und es wird entweder ein leerer Bildschirm oder ein 502 Bad Gateway angezeigt. Dies ist darauf zurückzuführen, dass PHP in eine Endlosschleife gerät und entweder durch die INI-Einstellungen von PHP einen Fehler verursacht oder gestoppt wird.
Ich habe zu graben geschaffen , dass das Problem auf der Linie , dass Belastungen , die eine unendliche Rekursion ist
$customer
in\app\code\core\Mage\Customer\Helper\Data.php
,getPasswordTimestamp()
.Wenn Sie die Stapelspur der unendlichen Rekursion betrachten, wird diese immer wieder wiederholt. Irgendwie scheint es
->load()
, dass diegetPasswordTimestamp()
Methode am Ende aufgerufen wird.Die Problemumgehung in /magento//a/235984/67252 funktioniert einwandfrei, aber ich möchte wissen, was passiert.
quelle
Nach dem Anwenden des Patches SUPEE 10752 führt "Registrieren" und "Auschecken" die Erfolgsseite zur Startseite. Irgendwelche Vorschläge?
quelle
Nach dem Anwenden von SUPEE-10752 und dem Kompilieren wurde unter / checkout / * eine leere Seite angezeigt
Version: 1.9.1.0
Auslösebedingungen: Anwendung von SUPEE-10752 + Compiler aktivieren + Anmeldung als Kunde, dann besuchen / checkout / *
Nur zur Verdeutlichung: Bei deaktiviertem Compiler lief alles gut, bei aktiviertem Compiler konnten wir nur dann eine leere Warenkorbseite sehen, wenn wir ohne Protokolleinträge angemeldet waren (auch wenn alle möglichen Protokolle und der Entwicklermodus aktiviert waren).
quelle