Sicherheitspatch SUPEE-7405 - Mögliche Probleme?

140

Es ist Zeit für einen weiteren Patch-Tag, SUPEE-7405 für Magento 1.x ist erschienen und die Liste der Fixes ist lang: https://magento.com/security/patches/supee-7405

Nach den Erfahrungen mit den letzten Patches muss ich noch einmal fragen: Was sind die möglichen Probleme bei der Anwendung des Patches und was muss ich beachten?

Viele XSS-Probleme wurden erneut behoben, daher erwarte ich, benutzerdefinierte Designs manuell zu patchen. Noch etwas? Gibt es rückwärts inkompatible Änderungen?

Fabian Schmengler
quelle
2
GG kann einen anderen Patch nicht schlagen
Bobadevv
6
Ein Problem, auf das wir heute beim Patchen unserer Version (EE 1.14.0.1. ...) gestoßen sind SUPEE-7405 hat dazu geführt, dass der Bildschirm "Admin Order Detail" leer / fehlerhaft war. Die Bestellwarteschlange ist sichtbar, aber wenn Sie auf eine Bestellung klicken, wird eine fehlerhafte Bestelldetailseite zurückgegeben. Wir haben das erst entdeckt, nachdem wir es in Produktion gebracht hatten. - Warten auf Antwort des Magento-Supports.
Moonman67
6
Ebenfalls gerade entdeckt, dass unsere SOAP-API-URL (/index.php/api/v2_soap/index/?wsdl=1) jetzt einen 500-Fehler auslöst. Wenn Sie sich wie ich auf SOAP verlassen ... Installieren Sie den Patch NICHT, bis dies behoben ist
Moonman67
4
Über das Admin-Panel hochgeladene Dateien (z. B. Produktbild-Upload) sind jetzt standardmäßig nicht mehr weltweit lesbar (0640). Verzeichnisse sind auch nicht weltweit ausführbar (0750). Dies kann zu Problemen mit Bildern führen, die nicht auf der Website angezeigt werden, wenn der Webserver als ein anderer Benutzer als PHP ausgeführt wird (dh PHP-FPM als Benutzer, Webserver als niemand für statische Dateien).
Rob Mangiafico
3
- Alle vorherigen Patches müssen angewendet werden (und wenn Sie nicht angewendet haben, insbesondere der Shoplift, können Sie davon ausgehen, dass Ihr Shop bereits gehackt ist - Überprüfen Sie auf unbekannte Administratoren, seltsamen Code usw.) - Die Bestellseite ist unter PHP 5.3 möglicherweise fehlerhaft - Der Code verwendet die PHP 5.4-Anweisung.
Piotr Kaminski

Antworten:

156

23. Februar 2016 Update : Der Patch wurde auf V1.1 aktualisiert und behebt eine Reihe wichtiger Probleme, die in diesem Beitrag aufgeführt sind. Hier ist die Liste:

  • Patch zum Zusammenführen von Wagen (SUPEE-7978) : Wagen mit identischen Gegenständen werden jetzt korrekt zusammengeführt. Bisher hat Magento beim Zusammenführen eines Einkaufswagens mit einem anderen Einkaufswagen, der denselben Einkaufswagen enthielt, die Gesamtsummen des Einkaufswagens nicht korrekt zusammengeführt. Der Warenkorb enthält nur noch einen Artikel und die Gesamtsumme ist korrekt.
  • SOAP-API-Patch (SUPEE-7822) : Die Magento-SOAP-API funktioniert jetzt wie erwartet. Zuvor verursachte eine API-Anforderung nach der Installation des Patches SUPEE-7405 v1.0 einen 500-Fehler und Magento protokollierte eine Ausnahme.
  • PHP 5.3-Kompatibilität (SUPEE-7882) : Der Patch war für frühere Versionen von Magento, die diese Version noch unterstützten, nicht mit PHP 5.3 kompatibel. Händler, bei denen dieses Problem auftrat, konnten die Verkaufsinformationen im Administrator nicht anzeigen.
  • Dateiberechtigungen zum Hochladen : Der Patch stellt weniger restriktive Dateiberechtigungen wieder her (0666 für Dateien und 0777 für Verzeichnisse), da strengere Berechtigungen, die durch den ursprünglichen SUPEE-7405-Patch eingeführt wurden, dazu führten, dass viele Händler hochgeladene Produktbilder abhängig von der Hosting-Provider-Konfiguration nicht anzeigen konnten .

Nach dem Durchstöbern des Patches sind hier die relevanten / interessanten Dinge aufgeführt, die ich gefunden habe. (Hinweis: Diese Liste wurde durch Analyse des Patches für CE 1.9.2.0-1.9.2.2 erstellt. Es gibt wahrscheinlich mehr für Patches, die ältere Versionen von Magento betreffen.) :

  • (behoben in V1.1 des Patches) Die Verwendung von []anstelle von array()in diesem Patch macht es inkompatibel mit PHP <5.4 (siehe bekannte Probleme unten).
  • Wie bereits erwähnt, handelt es sich bei den meisten Änderungen um HTML-Escape-Vorgänge und Datenbereinigungen in Bezug auf XSS-Probleme.
  • Form Schlüsselvalidierung hat zur hinzugefügt Admin - Login inMage_Admin_Model_Observer
  • Form Schlüsselvalidierung wurde hinzugefügt , um das Admin - Passwort vergessen haben , inMage_Adminhtml_IndexController
  • Die Validierung des Formularschlüssels wurde dem Administrator-Rücksetzpasswort in hinzugefügtMage_Adminhtml_IndexController
  • Die Überprüfung des Formularschlüssels wurde der Aktion zum Löschen des Frontend-Warenkorbs hinzugefügt . Form Schlüssel wird auf das Mehr getDeleteUrlvon Mage_Checkout_Block_Cart_Item_Rendererund validiert in deleteActiondem Mage_Checkout_CartController.
  • Ereignisse werden jetzt in Kleinbuchstaben ausgegeben (alle betroffenen Konfigurationsdateien wurden geändert, zB controller_action_postdispatch_checkout_onepage_saveOrderwerden controller_action_postdispatch_checkout_onepage_saveorder). Dies wirkt sich nicht auf die Konfiguration Ihrer lokalen Beobachter aus . Weitere Informationen finden Sie hier: https://twitter.com/foomanNZ/status/689924329065164800
  • Es wurde ein neuer Validator hinzugefügt , um zu überprüfen, ob es sich bei einer hochgeladenen Datei um ein Bild handelt :Mage_Core_Model_File_Validator_Image
  • Ein neuer Import / Export-Bereich wird angezeigt:System => Configuration =>Advanced > System => Escape CSV Fields
  • Neue Veranstaltung versandt:admin_user_validate unterMage_Admin_Model_User
  • SVG ist keine gültige Favicon-Erweiterung mehr
  • Für diejenigen, die Authorizenet verwenden (ich nicht), scheinen ein paar Änderungen vorgenommen worden zu sein, wobei nicht sicher ist, wie sich dies auf das System auswirkt. Zu den Änderungen gehört ein neuer Admin-Helfer ( Mage_Authorizenet_Helper_Admin), der zum Abrufen der URL für die erfolgreiche Bestellung verwendet wird.
  • Neue Zend Klasse:Zend_Xml_Security . Der Zweck besteht darin, XML-Zeichenfolgen auf potenzielle XXE- und XEE-Angriffe zu durchsuchen. Allerdings habe ich in den anderen geänderten Dateien keinen Hinweis darauf gefunden.
  • Über das Admin- Panel hochgeladene Dateien (z. B. Produktbild-Upload) sind jetzt standardmäßig nicht mehr weltweit lesbar (vor: 777 / nach: 640).
  • Verzeichnisse sind auch nicht weltweit ausführbar (vor 755 / nach 750). Diese beiden können Probleme mit Bildern verursachen, die nicht auf der Website angezeigt werden, wenn der Webserver als ein anderer Benutzer als PHP ausgeführt wird (Credits: @Rob Mangiafico).
  • In Bezug auf Frontend-Vorlagen : Die einzigen Änderungen, die vorgenommen wurden, sind Daten-Escape-Vorgänge , die keine Systemunterbrecher darstellen, aber dennoch für die Implementierung in Ihrem benutzerdefinierten Design empfohlen werden (und nur zwei Frontend-Dateien betreffen nicht so viel Arbeit;))

Bekannte Probleme nach dem Patchen:

Ich werde versuchen, diese Liste so aktuell wie möglich zu halten.

Bevor Sie eine neue Ausgabe / Frage starten, stellen Sie bitte sicher, dass Sie alle vorherigen Patches angewendet haben, da es den Anschein hat, dass viele Probleme von fehlenden Patches herrühren.

Eine andere Sache ist: Wenn Sie Core-Dateien geändert haben, kann das Anwenden des Patches fehlschlagen. Wenn Hunk # failed atbei einer bestimmten Datei ein Fehler auftritt und Sie sich 100% ig sicher sind, dass Sie alle vorherigen Patches installiert haben, überprüfen Sie auf dem Mirror die Originaldatei Ihrer Magento-Version: https://github.com / OpenMage / magento-mirror /

Liste der betroffenen Dateien

Es kann auf dieser Seite hier gefunden werden: https://magento.stackexchange.com/a/98232/2380 (credits @MagenX)

Nur EE

  • Wenn Sie von Magento EE 1.14.2.x auf Magento EE 1.14.2.3 aktualisiert haben, anstatt den Patch anzuwenden, und zuvor auch den Support-Patch SUPEE-5984 angewendet haben, müssen Sie ihn erneut anwenden , da er nicht in der Version enthalten ist . => https://magento.stackexchange.com/a/98805/2380

In Bezug auf Patch 7616:

Gute Ressourcen zu Magento-Patches

Fühlen Sie sich frei, mich zu informieren, wenn ich etwas vermisse.

Raphael bei Digital Pianism
quelle
1
Sie haben mein Problem "Mögliches Problem beim Anwenden von 7616 vor dem Anwenden von 7405: SUPEE 7405 - Hunk # 2 fehlgeschlagen bei 43" als EE-Problem erwähnt, wenn ich tatsächlich CE verwende.
Liam McArthur
1
Du hast recht, mein Schlechtes, ich habe es behoben.
Raphael bei Digital Pianism
1
Ereignisse werden jetzt in Kleinbuchstaben gesendet : Müssen wir also die Konfiguration der lokalen Beobachter überprüfen / ändern?
Hellimac
1
@hellimac Ich werde dies in den nächsten Stunden testen. Ich werde den Beitrag aktualisieren, wenn er die Konfiguration lokaler Beobachter beeinflusst.
Raphael bei Digital Pianism
5
@hellimac Nein, die Werte aus config.xml werden beim Lesen ebenfalls in Kleinbuchstaben umgewandelt: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler
34

Ein Problem, das mir aufgefallen ist, ist, dass der Patch nicht kompatibel ist, wenn Ihre Site eine Version unter PHP 5.4 verwendet.

In der Klasse Mage_Adminhtml_Helper_Salesum die Zeilennummer 124. Der Code lautet:

$links = [];

Ich musste dies erweitern, um zu sein:

        // Patch not compatible with PHP version 5.3: overwrote Magento patch update

        $links = array();

Ein weiterer Fehler, auf den ich gestoßen bin, schien die Cookies zu betreffen, die ich gesetzt hatte. Nachdem ich meine Cookies gelöscht hatte, wurden alle Seiten ordnungsgemäß geladen.

Beispielfehler:

Notice: unserialize() [function.unserialize]: Error at offset 0 of 13 bytes  in `/var/www/website/app/code/core/Mage/Core/Helper/Cookie.php` on line 83

Ich bin mir nicht sicher, ob jemand auf diese Probleme gestoßen ist, aber ich hoffe, es hilft!

Dazari
quelle
1
Ich habe das Gleiche im Code gesehen, den wir gepatcht haben. Der Patch behebt gleichzeitig Fehler, die für PHP 5.3 spezifisch sind, und bricht die Kompatibilität mit PHP 5.3 ab.
Jim OHalloran
Keine wirkliche Antwort, nur weitere Informationen: Das Anwenden des 7405-Patches auf eine Magento 1.5.1-Site (ja, ich weiß ...) war mühsam und verursachte, nachdem "erfolgreich" Front-End-Fehler und der Administrator war vollständig nicht verfügbar. Die Seite befindet sich auf PHP 5.3.1 - zum Glück konnte ich sie wiederherstellen. Ich habe eine weitere v1.9-Installation auf PHP 5.3.3, die ich teste. Ich zögere, den Cache jetzt zu leeren
Jon Holland
Kann bestätigen, Mag 1.9.0.1 auf PHP 5.3.3 versucht, einen Auftragsdatensatz im Admin anzuzeigen ist nur weißer Inhaltsbereich. Der Änderungsvorschlag behebt das Problem. Gute Stelle.
Jon Holland
22

Hier ist ein Problem, das ich beim Patchen von Magento CE mit SUPEE-7405 festgestellt habe. Es ersetzt die Zeile:

chmod($destinationFile, 0777);

mit:

chmod($destinationFile, 0640);

in der Datei lib/Varien/File/Uploader.php

Das hat dazu geführt, dass meine Bilder nicht mehr im Backend angezeigt werden, da diese Dateiberechtigung eigentlich 644 sein sollte. Gibt es einen Grund, warum dies auf 640 festgelegt wurde?

Liam McArthur
quelle
1
Ich habe das gleiche Problem in Magento ver. 1.7.0.2 Bild kann erfolgreich hochgeladen werden, wird aber aufgrund eines Berechtigungsproblems nicht im Backend angezeigt. Wenn ich die Erlaubnis 0640 in 0644 ändere, kann das Bild sichtbar werden, was nicht die genaue Lösung ist. Ich denke, die Leute von Magento müssen dies korrigieren oder eine andere Lösung dafür finden.
jyotiranjan.in
Ich gehe davon aus, dass Apache / Nginx so konfiguriert sein sollte, dass es sich in der gleichen Gruppe befindet, in der PHP-Fpm das Image erstellt. Kennt jemand die Auswirkungen auf die Sicherheit solcher Dateien?
Jzahedieh
Es ist SuPHP, das mir das Problem verursacht, denke ich! Ich habe es deaktiviert und stattdessen PHP-CGI aktiviert, was die Seitengeschwindigkeit erhöht hat, aber ich habe immer noch das Berechtigungsproblem. Ich bin mir nicht sicher, was die Auswirkungen auf die Sicherheit angeht, also lasse ich es. Ich möchte keine Sicherheitslücken öffnen! Ich möchte lieber die Kerndatei bearbeiten!
Liam McArthur
3
im grunde ist das problem, dass apache nicht als der selbe benutzer wie php läuft. Wenn Sie die Berechtigung auf 640 ändern, können die Dateien nicht mehr weltweit gelesen werden. Sie müssen sicherstellen, dass Apache als derselbe Benutzer wie PHP ausgeführt wird. Dies könnte schwierig sein, wenn Ihr Running Panel eine nette Herangehensweise wäre, die Gruppe als "nobody" zu definieren und dies zu einem "sticky" zu machen, zB:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000
Irgendeine Lösung dafür?
Arvind07
21

Bei der Bewerbung für Magento 1.7.0.0 wird versucht, einen Kommentar zu entfernen app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

-/* @var $_helper Mage_Authorizenet_Helper_Data */

1.7.0.0 - https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.0/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

Das wurde erst mit 1.7.0.1 https://raw.githubusercontent.com/OpenMage/magento-mirror/1.7.0.1/app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml hinzugefügt

rob3000
quelle
Ich habe diese Zeile in 1.7.0.0 iframe.phtml hinzugefügt und den Patch erneut ausgeführt und war erfolgreich
Danny Z
1
@DannyZ gleiche Sache hier dachte nur, ich sollte es irgendwo
notieren
19

Wenn Sie diese Dateien gepatcht haben, können Sie alle möglichen Auswirkungen sehen:
template: admin templates mostly patched.

+++ app/design/frontend/base/default/template/rss/order/details.phtml
+++ app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/sales/order/view/info.phtml
+++ app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
+++ app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
+++ app/design/adminhtml/default/default/template/sales/items/column/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
+++ app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
+++ app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
+++ app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml

core / libs:

+++ lib/Varien/Io/File.php
+++ lib/Varien/File/Uploader.php
+++ app/code/core/Zend/Xml/Security.php
+++ app/code/core/Mage/Sales/Model/Quote/Item.php
+++ app/code/core/Mage/Sales/Model/Quote/Address.php
+++ app/code/core/Mage/Sales/Helper/Guest.php
+++ app/code/core/Mage/Rss/Helper/Order.php
+++ app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
+++ app/code/core/Mage/Review/controllers/ProductController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
+++ app/code/core/Mage/Paypal/controllers/PayflowController.php
+++ app/code/core/Mage/Newsletter/Model/Queue.php
+++ app/code/core/Mage/Newsletter/Model/Observer.php
+++ app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
+++ app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
+++ app/code/core/Mage/Downloadable/controllers/CustomerController.php
+++ app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
+++ app/code/core/Mage/Customer/controllers/AccountController.php
+++ app/code/core/Mage/Core/Model/Session.php
+++ app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
+++ app/code/core/Mage/Core/Model/File/Validator/Image.php
+++ app/code/core/Mage/Core/Model/Email/Template/Filter.php
+++ app/code/core/Mage/Core/Model/Email/Queue.php
+++ app/code/core/Mage/Core/Model/Config.php
+++ app/code/core/Mage/Core/Model/App.php
+++ app/code/core/Mage/Core/Helper/Data.php
+++ app/code/core/Mage/Checkout/controllers/OnepageController.php
+++ app/code/core/Mage/Checkout/controllers/CartController.php
+++ app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
+++ app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
+++ app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
+++ app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
+++ app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
+++ app/code/core/Mage/Authorizenet/Helper/Data.php
+++ app/code/core/Mage/Authorizenet/Helper/Admin.php
+++ app/code/core/Mage/Adminhtml/controllers/IndexController.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
+++ app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
+++ app/code/core/Mage/Adminhtml/Helper/Sales.php
+++ app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
+++ app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
+++ app/code/core/Mage/Admin/Model/User.php
+++ app/code/core/Mage/Admin/Model/Resource/User.php
+++ app/code/core/Mage/Admin/Model/Redirectpolicy.php
+++ app/code/core/Mage/Admin/Model/Observer.php

================================================ ====================== ps nur um alles zusammen zu halten, haben wir ein "no-brainer" multipatch erstellt, um viele server mit mehreren magento installationen zu patchen. multipatch-7405.sh

MagenX
quelle
Nett! Ich kann mich nicht erinnern, diese
Designdateien
1
Schön gemacht. Das Multipatch ist eine großartige Idee. Ich wünschte nur, Magento hätte SHA1-Hashes für ihre Patches veröffentlicht, damit wir überprüfen könnten, ob sie mit externen Quellen
übereinstimmen
Dies kann vereinfacht werden, indem Sie direkt auf das Magento-Web-Repository zugreifen, um alle Patches einzurollen. Wir hatten jedoch einige Probleme damit. und es ist erforderlich, um Ihre Anmeldedaten einzugeben ... magento wtf ...
MagenX
14

Hier ist mein grundlegender Testplan:

  • Gutschein einlösen
  • Melden Sie sich bei admin an
  • Erzwinge den Administrator, das Passwort zu ändern
  • Exportieren Sie eine CSV
  • Importieren Sie eine CSV
  • Passwort als Administrator und Kunde zurücksetzen
  • Erstellen Sie eine Bestellung in admin
  • Erstellen und bestellen Sie im Frontend als Gast
  • Als Kunde im Frontend anlegen und bestellen
  • Fügen Sie einem Produkt ein Bild hinzu
  • Erstellen Sie eine Gutschrift
  • Erstellen Sie eine Rechnung
Brideo
quelle
Wie genau wird mir diese Liste helfen, Fehler zu verstehen, die durch diesen Patch verursacht wurden oder es ist nur ein Entwickler, der gebogene Hände hat ???
MagenX
@MagenX Ich weiß nicht, was ein Entwickler mit gebogenen Händen meint. Aber als ich den Patch veränderte, machte ich eine Liste von Dingen, die problematisch sein könnten.
Brideo
@MagenX Nach dem Anwenden des Patches überprüfe ich diese Bereiche. Tut mir leid, wenn es nicht hilfreich ist.
Brideo
Ah, eine grundlegende Testsuite für After-Patch-Prüfungen, um sicherzustellen, dass Sie den Autsch finden, bevor Ihre Kunden und Mitarbeiter dies tun.
Fiasko Labs
Dies wäre eine schöne (bessere?) Antwort auf diese Frage hier: magento.stackexchange.com/questions/98565/…
Anna Völkl
8

Screenshot für die Seite mit den Bestelldetails für Administratoren. Wenn dieses Problem auftritt, befolgen Sie bitte die nachstehende Anleitung, damit es bei mir funktioniert.Bildbeschreibung hier eingeben

Lösung

Ändere Zeile 124 in app / code / core / Mage / Adminhtml / Helper / Sales.php von $ links = []; zu $ links = array ();

Randhir Yadav
quelle
7

Wann immer wir einen Patch für einen unserer Clients installieren, verwenden wir die folgende Checkliste:

  • Erstellen Sie eine vollständige Sicherung der Site-Dateien und der Datenbank.
  • Stellen Sie sicher, dass alle vorherigen Patches erfolgreich installiert wurden (wird in der app/etc/applied.patches.listDatei angezeigt)
  • Leeren Sie nach erfolgreicher Installation des Patches den Cache und bestellen Sie einen Test, um sicherzustellen, dass alles funktioniert.

Ich denke, das ist wirklich alles, was dazu gehört. Die Patches können schnell und problemlos installiert werden. 9 von 10 Mal werden sie einwandfrei installiert und für die anderen Male haben wir Backups. Solange Sie nicht mit Kerndateien herumspielen, sollte alles in Ordnung sein.

Gary Olderman
quelle
Datei wahrscheinlichapp/etc/applied.patches.list
MagenX
3
Ich habe nicht das Gefühl, dass dies die Frage beantwortet. Das OP bezieht sich auf SUPEE-6788, das eine Menge manueller Arbeit in Erweiterungen von Drittanbietern erforderte, nicht das Anwenden eines Patches.
Robbie Averill
OP bezieht sich auf SUPEE-6788 Robbie, nicht 6788.
Gary Olderman
Entschuldigung, um die Frage zu klären, geht es offensichtlich um 7405, wird aber im Lichte des Albtraums gefragt, der 6788 war - es ist Kontext
Robbie Averill
6

hier betroffene Dateien für Magento EE

> -e 2016-02-11 03:14:54 UTC | SUPEE-7405-EE-1-14-2-2 | EE_1.14.2.2 | v1 | 91465c744a824111902e2911fd63fd8cb6c32f05 | Tue Jan 19 14:27:03 2016 +0200 | e1fc3c59c9..91465c744a
patching file app/code/core/Enterprise/Checkout/Block/Adminhtml/Manage/Form/Coupon.php
patching file app/code/core/Enterprise/GoogleAnalyticsUniversal/Block/Ga.php
patching file app/code/core/Enterprise/PageCache/etc/config.xml
patching file app/code/core/Enterprise/Pbridge/etc/config.xml
patching file app/code/core/Enterprise/Pci/Model/Observer.php
patching file app/code/core/Enterprise/Pci/Model/Resource/Admin/User.php
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Persistent/etc/config.xml
patching file app/code/core/Enterprise/SalesArchive/etc/config.xml
patching file app/code/core/Enterprise/WebsiteRestriction/etc/config.xml
patching file app/code/core/Mage/Admin/Model/Observer.php
patching file app/code/core/Mage/Admin/Model/Redirectpolicy.php
patching file app/code/core/Mage/Admin/Model/Resource/User.php
patching file app/code/core/Mage/Admin/Model/User.php
patching file app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Tab/History.php
patching file app/code/core/Mage/Adminhtml/Block/Widget/Grid.php
patching file app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
patching file app/code/core/Mage/Adminhtml/Helper/Sales.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/File.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image.php
patching file app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Image/Favicon.php
patching file app/code/core/Mage/Adminhtml/controllers/IndexController.php
patching file app/code/core/Mage/Authorizenet/Helper/Admin.php
patching file app/code/core/Mage/Authorizenet/Helper/Data.php
patching file app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php
patching file app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php
patching file app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
patching file app/code/core/Mage/CatalogIndex/etc/config.xml
patching file app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php
patching file app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php
patching file app/code/core/Mage/Checkout/controllers/CartController.php
patching file app/code/core/Mage/Checkout/controllers/OnepageController.php
patching file app/code/core/Mage/Core/Helper/Data.php
patching file app/code/core/Mage/Core/Model/App.php
patching file app/code/core/Mage/Core/Model/Config.php
patching file app/code/core/Mage/Core/Model/Email/Queue.php
patching file app/code/core/Mage/Core/Model/Email/Template/Filter.php
patching file app/code/core/Mage/Core/Model/File/Validator/Image.php
patching file app/code/core/Mage/Core/Model/Input/Filter/MaliciousCode.php
patching file app/code/core/Mage/Core/Model/Session.php
patching file app/code/core/Mage/Customer/controllers/AccountController.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Parser/Csv.php
patching file app/code/core/Mage/Downloadable/controllers/CustomerController.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Abstract.php
patching file app/code/core/Mage/ImportExport/etc/config.xml
patching file app/code/core/Mage/ImportExport/etc/system.xml
patching file app/code/core/Mage/Newsletter/Model/Observer.php
patching file app/code/core/Mage/Newsletter/Model/Queue.php
patching file app/code/core/Mage/Page/etc/system.xml
patching file app/code/core/Mage/Paypal/controllers/PayflowController.php
patching file app/code/core/Mage/Paypal/controllers/PayflowadvancedController.php
patching file app/code/core/Mage/Paypal/etc/config.xml
patching file app/code/core/Mage/Persistent/etc/config.xml
patching file app/code/core/Mage/Review/controllers/ProductController.php
patching file app/code/core/Mage/Rss/Block/Catalog/Salesrule.php
patching file app/code/core/Mage/Rss/Helper/Order.php
patching file app/code/core/Mage/Sales/Helper/Guest.php
patching file app/code/core/Mage/Sales/Model/Quote/Address.php
patching file app/code/core/Mage/Sales/Model/Quote/Item.php
patching file app/code/core/Zend/Xml/Security.php
patching file app/design/adminhtml/default/default/template/authorizenet/directpost/iframe.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/creditmemo/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/invoice/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/order/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/create/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/bundle/sales/shipment/view/items/renderer.phtml
patching file app/design/adminhtml/default/default/template/catalog/product/composite/fieldset/options/type/file.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/invoice/name.phtml
patching file app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/name.phtml
patching file app/design/adminhtml/default/default/template/enterprise/checkout/form/coupon.phtml
patching file app/design/adminhtml/default/default/template/sales/items/column/name.phtml
patching file app/design/adminhtml/default/default/template/sales/items/renderer/default.phtml
patching file app/design/adminhtml/default/default/template/sales/order/totals/discount.phtml
patching file app/design/adminhtml/default/default/template/sales/order/view/info.phtml
patching file app/design/frontend/base/default/template/catalog/product/view/options/type/file.phtml
patching file app/design/frontend/base/default/template/rss/order/details.phtml
patching file lib/Varien/File/Uploader.php
patching file lib/Varien/Io/File.php
Ansyori
quelle
5

Nach dem Anwenden des SUPEE-7405 auf Magento 1.14.1.0 habe ich den Fehler bekommen:

Fatal error: Cannot redeclare Mage_Core_Controller_Varien_Router_Admin::_validateControllerInstance() in app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

Das Problem wurde durch die neu deklarierte Methode _validateControllerInstance in verursacht

app/code/core/Mage/Core/Controller/Varien/Router/Admin.php on line 173

Nach dem Entfernen der zweiten (gleichen) Funktionsdeklaration wurde das Problem behoben.

vladPavlov
quelle
5

Ich habe nach der Installation des SUPEE-7405-Patches folgende Fehlermeldung erhalten, wenn ich mich beim Administrator anmelden wollte.

Schwerwiegender Fehler: Rufen Sie die undefinierte Methode Mage_Core_Controller_Response_Http :: sendHeadersAndExit () in
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php in Zeile 135 auf

weil ich diese Datei im lokalen Code-Pool überschrieben hatte, der keine sendHeadersAndExit von diesem Patch erstellte Methode hat.

\app\code\local\Mage\Core\Controller\Response\Http.php Die folgende Methode existiert nicht. (Dies ist eine neue Methode, die der Kerndatei hinzugefügt wurde.)

  /**
     * Method send already collected headers and exit from script
     */
    public function sendHeadersAndExit()
    {
        $this->sendHeaders();
        exit;
    }

Nach dem Hinzufügen zu der überschriebenen Datei ist das Problem behoben.

Mukesh
quelle
3

Eines der Probleme habe ich bei der Verwendung von SUPEE-7405 ist Bilderupload Bugs

Daher überprüfe ich die Änderungen in dieser Datei: lib / Varien / File / Uploader.php

diff --git lib / Varien / File / Uploader.php lib / Varien / File / Uploader.php
---
---
- chmod ($ destinationFile, 0777);
+ chmod ($ destinationFile, 0640);
---
---
- if (! (@ is_dir ($ destinationFolder) || @mkdir ($ destinationFolder, 0777, true))) {
+ if (! (@ is_dir ($ destinationFolder) || @mkdir ($ destinationFolder, 0750, true)) {

Dann fand ich zwei Möglichkeiten, um es zu überwinden:

Option 1:

Ich ändere die Datei lib / Varien / File / Uploader.php manuell, um die Berechtigungen für 0640/0750 anzupassen.

Option 2: Da Magento erwartet, dass der Webserver die Site-Dateien besitzt:

http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html#privs-after

Die andere Möglichkeit, das Problem zu beheben, besteht darin, den Webserver zum Eigentümer der Dateien zu machen

chown -R web-server-benutzername magento / root / pfad

Der Benutzername des Webservers ist normalerweise www-data oder apache.

Jameslj
quelle