Parche de seguridad SUPEE-7405: ¿posibles problemas?

140

Es hora de otro día de parche, SUPEE-7405 para Magento 1.x está fuera y la lista de soluciones es larga: https://magento.com/security/patches/supee-7405

Después de la experiencia con los últimos parches, tengo que volver a preguntar: ¿cuáles son los posibles problemas al aplicar el parche y qué debo tener en cuenta?

Muchos problemas de XSS se solucionaron nuevamente, por lo que espero parchear temas personalizados manualmente. ¿Algo más? ¿Hay cambios incompatibles hacia atrás?

Fabian Schmengler
fuente
2
GG no puede vencer a otro parche
Bobadevv
66
Un problema con el que nos encontramos hoy al parchear nuestra versión (EE 1.14.0.1 ... La cola de pedidos está visible, pero al hacer clic en cualquier pedido, se devuelve una página de detalles del pedido rota. No descubrimos esto hasta después de haberlo puesto en producción. - Esperando respuesta del soporte de Magento.
Moonman67
66
También acabo de descubrir que nuestra URL de API SOAP (/index.php/api/v2_soap/index/?wsdl=1) ahora arroja un error 500. Si confía en SOAP como yo ... NO instale el parche hasta que esto se resuelva
Moonman67
44
Los archivos cargados a través del panel de administración (es decir, carga de imágenes del producto) ahora no son legibles en todo el mundo de forma predeterminada (0640). Los directorios tampoco son ejecutables en el mundo (0750). Esto puede causar problemas con las imágenes que no aparecen en el sitio web si el servidor web se ejecuta como un usuario diferente de php (es decir, php-fpm como usuario, servidor web como nadie para archivos estáticos).
Rob Mangiafico
3
- todos los parches anteriores deben aplicarse (y si no lo ha aplicado, especialmente el Shoplift, puede asumir que su tienda ya está pirateada - verifique si hay administradores desconocidos, códigos extraños, etc.) - la página de pedido puede estar rota en PHP 5.3 - el código usa la declaración PHP 5.4.
Piotr Kaminski

Respuestas:

156

Actualización del 23 de febrero de 2016 : el parche se ha actualizado a V1.1, que soluciona una serie de problemas importantes enumerados en esta publicación, aquí está la lista:

  • Parche de combinación de carro (SUPEE-7978) : los carros con artículos idénticos ahora se combinan correctamente. Anteriormente, cuando un carrito con un artículo se fusionaba con otro que contenía el mismo artículo, Magento no fusionaba los totales del carrito correctamente. El carrito ahora incluye solo un artículo, y el total es correcto.
  • Parche API SOAP (SUPEE-7822) : la API SOAP Magento ahora funciona como se esperaba. Anteriormente después de instalar el parche SUPEE-7405 v1.0, una solicitud de API provocaría un error 500 y Magento registraría una excepción.
  • Compatibilidad con PHP 5.3 (SUPEE-7882) : el parche no era compatible con PHP 5.3 para versiones anteriores de Magento que todavía admitían esta versión. Los comerciantes que experimentaron este problema no pudieron ver la información de ventas en el Administrador.
  • Permisos de carga de archivos : el parche restaura los permisos de archivo menos restrictivos (0666 para archivos y 0777 para directorios) ya que los permisos más estrictos introducidos por el parche original SUPEE-7405 hicieron que muchos comerciantes no pudieran ver las imágenes cargadas del producto, dependiendo de la configuración del proveedor de alojamiento .

Después de profundizar en el parche, aquí están las cosas relevantes / interesantes que he encontrado (Nota: esta lista se ha hecho analizando el parche para CE 1.9.2.0-1.9.2.2, probablemente haya más para parches que afectan a versiones anteriores de Magento) :

  • (corregido en V1.1 del parche) El uso de en []lugar de array()en este parche lo hace incompatible con PHP <5.4 (vea los problemas conocidos a continuación)
  • Como se indicó, la mayoría de los cambios son escapes html y desinfección de datos con respecto a problemas de XSS.
  • La validación de la clave de formulario se ha agregado al inicio de sesión de administrador enMage_Admin_Model_Observer
  • La validación de la clave de formulario se ha agregado a la contraseña olvidada del administrador enMage_Adminhtml_IndexController
  • La validación de la clave de formulario se ha agregado a la contraseña de restablecimiento de administrador enMage_Adminhtml_IndexController
  • La validación de la clave de formulario se ha agregado a la acción de eliminación del carrito de la interfaz . La clave de formulario se agrega al getDeleteUrlde Mage_Checkout_Block_Cart_Item_Renderery se valida en el deleteActionde Mage_Checkout_CartController.
  • Los eventos ahora se envían en minúsculas (todos los archivos de configuración afectados se han modificado, por ejemplo, se controller_action_postdispatch_checkout_onepage_saveOrderconvierten controller_action_postdispatch_checkout_onepage_saveorder). Esto no afecta la configuración de sus observadores locales . Más información aquí: https://twitter.com/foomanNZ/status/689924329065164800
  • Se ha agregado un nuevo validador para verificar si un archivo cargado es una imagen :Mage_Core_Model_File_Validator_Image
  • Aparece una nueva sección Importar / Exportar :System => Configuration =>Advanced > System => Escape CSV Fields
  • Nuevo evento enviado:admin_user_validate bajoMage_Admin_Model_User
  • SVG no es una extensión válida favicon más
  • Para aquellos que usan Authorizenet (no lo hago) parece que se han realizado algunos cambios, aunque no estoy seguro de cómo afecta el sistema. Los cambios incluyen un nuevo administrador auxiliar ( Mage_Authorizenet_Helper_Admin) que se utiliza para obtener la url de la orden de éxito.
  • Nueva clase Zend:Zend_Xml_Security . Su propósito es escanear cadenas XML para posibles ataques XXE y XEE. Sin embargo, no encontré ninguna referencia a él en los otros archivos modificados.
  • Los archivos cargados a través del panel de administración (es decir, carga de imágenes del producto) ahora no son legibles en todo el mundo de forma predeterminada (antes: 777 / después: 640).
  • Los directorios tampoco son ejecutables en el mundo (antes de 755 / después: 750). Estos dos pueden causar problemas con las imágenes que no aparecen en el sitio web si el servidor web se ejecuta como un usuario diferente de php (créditos: @Rob Mangiafico)
  • Con respecto a las plantillas frontend : las únicas modificaciones realizadas son el escape de datos , que no son interruptores del sistema, pero aún así se recomienda implementar en su tema personalizado (y solo hay dos archivos frontend afectados, no tanto trabajo;))

Problemas conocidos después de parchear:

Intentaré mantener esta lista lo más actualizada posible.

Antes de comenzar un nuevo problema / pregunta, asegúrese de haber aplicado todos los parches anteriores, ya que parece que muchos problemas provienen de parches faltantes.

Otra cosa es: si ha modificado los archivos principales, la aplicación del parche puede fallar. Si tiene un Hunk # failed aterror para un archivo específico y está 100% seguro de haber aplicado todos los parches anteriores, asegúrese de tener el archivo original de su versión de Magento marcando el espejo: https://github.com / OpenMage / magento-mirror /

Lista de archivos afectados

Se puede encontrar en esta página aquí: https://magento.stackexchange.com/a/98232/2380 (créditos @MagenX)

EE solamente

  • Si actualizó desde Magento EE 1.14.2.x a Magento EE 1.14.2.3 en lugar de aplicar el parche, y también aplicó el parche de soporte SUPEE-5984 antes, debe volver a aplicarlo nuevamente porque no está incluido en el lanzamiento . => https://magento.stackexchange.com/a/98805/2380

Con respecto al parche 7616:

Buenos recursos sobre parches de Magento

No dudes en avisarme si extraño algo.

Raphael en Digital Pianism
fuente
1
Usted mencionó mi problema "Posible problema al aplicar 7616 antes de aplicar 7405: SUPEE 7405 - Hunk # 2 Falló a 43" como un problema de EE, cuando en realidad estoy usando CE.
Liam McArthur
1
Tienes razón, mi mal, lo he arreglado.
Raphael en Digital Pianism
1
Los eventos ahora se envían en minúsculas : ¿Esto significa que tenemos que verificar / cambiar la configuración de los observadores locales?
hellimac
1
@hellimac Estoy a punto de probar esto en las siguientes horas, actualizaré la publicación si afecta la configuración de los observadores locales.
Raphael en Digital Pianism
55
@hellimac No, los valores de config.xml también se convierten en minúsculas cuando se lee: twitter.com/foomanNZ/status/689924329065164800
Fabian Schmengler
34

Un problema que noté es que si su sitio usa una versión inferior a PHP 5.4, el parche no es compatible.

En la clase Mage_Adminhtml_Helper_Salesalrededor de la línea número 124. El código es:

$links = [];

Necesitaba extender esto para ser:

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

        $links = array();

Otro error que encontré parecía involucrar las cookies que había configurado. Sin embargo, una vez que borré mis cookies, todas las páginas se cargaron bien.

Error de ejemplo:

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

No estoy seguro de si alguien más se ha encontrado con estos problemas, ¡pero espero que ayude!

Dazari
fuente
1
He visto lo mismo en el código que hemos parcheado. El parche corrige simultáneamente errores que son específicos de PHP 5.3 y rompe la compatibilidad con PHP 5.3.
Jim OHalloran
Realmente no es una respuesta, solo más información: la aplicación del parche 7405 a un sitio de Magento 1.5.1 (sí, lo sé ...) fue arduo y, una vez "exitoso", causó errores de front-end y el administrador no estuvo completamente disponible. El sitio se encuentra en php v5.3.1 - afortunadamente pude restaurarlo nuevamente. Tengo otra instalación v1.9 en php 5.3.3 que estoy probando ... dudo en borrar el caché ahora
Jon Holland
Puede confirmar, Mag 1.9.0.1 en php 5.3.3 tratando de ver un registro de pedido en admin es solo un área de contenido blanco. El cambio sugiere que soluciona el problema. Buen lugar.
Jon Holland
22

Aquí hay un problema que he encontrado al parchear Magento CE con SUPEE-7405. Reemplaza la línea:

chmod($destinationFile, 0777);

con:

chmod($destinationFile, 0640);

en el archivo lib/Varien/File/Uploader.php

Esto detuvo mis imágenes que se muestran en el back-end, ya que este permiso de archivo debería ser 644. ¿Hay alguna razón para que esto se haya configurado en 640?

Liam McArthur
fuente
1
Tengo el mismo problema en Magento ver. 1.7.0.2 la imagen se puede cargar correctamente pero no se muestra en el servidor debido a un problema de permiso. Si cambio el permiso 0640 a 0644, la imagen puede ser visible, que no es la solución exacta. Así que supongo que la gente de magento necesita rectificar esto o dar cualquier otra solución para esto.
jyotiranjan.in
Supongo que apache / nginx debe configurarse para estar en el mismo grupo que php-fpm crea la imagen, ¿alguien sabe las implicaciones de seguridad de esto?
jzahedieh
¡Es suPHP lo que me está causando el problema! Lo he deshabilitado y habilitado php-cgi en su lugar, lo que ha aumentado la velocidad de la página, pero todavía tengo el problema del permiso. No estoy seguro de las implicaciones de seguridad, así que lo dejo en paz. ¡No quiero abrir ningún agujero de seguridad! ¡Prefiero editar el archivo principal!
Liam McArthur
3
Básicamente, el problema es que Apache no se ejecuta como el mismo usuario que PHP. Cambiar el permiso a 640 significa que los archivos ya no se pueden leer en todo el mundo. Deberá asegurarse de que apache se esté ejecutando como el mismo usuario que php. Esto podría ser difícil si su cpanel en ejecución sería un buen enfoque para establecer el grupo como nadie y hacer que esto sea pegajoso, por ejemplo:chown USERNAME:nobody -R public_html find ./public_html -type d -exec chmod g+s {} \;
rob3000
¿Alguna solución a esto?
Arvind07
21

Al solicitar Magento 1.7.0.0 está tratando de eliminar un comentario en 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

que no se agregó hasta 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

rob3000
fuente
Acabo de agregar esa línea en 1.7.0.0 iframe.phtml y ejecuté el parche nuevamente y tuve éxito
Danny Z
1
@DannyZ lo mismo aquí, solo pensé que sería mejor que lo notara en alguna parte :)
rob3000
19

con estos archivos parcheados, puede ver cualquier posible impacto:
plantilla: plantillas de administrador mayormente parcheadas.

+++ 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 solo para mantener todo junto, hemos creado un multiparche "sin complicaciones" para parchear muchos servidores con múltiples instalaciones de magento. multipatch-7405.sh

MagenX
fuente
¡Agradable! No recuerdo haber sobrescrito esos archivos de tema para que el parche .sh pueda hacer lo suyo: D
Bobadevv
1
Bien hecho. El multiparche es una gran idea; Solo deseo que Magento haya lanzado hash SHA1 para sus parches para que podamos verificar que coinciden con las fuentes externas
philwinkle
esto se puede simplificar accediendo al repositorio web de magento directamente para curvar todos los parches, pero tuvimos algunos problemas con él. y requería ingresar sus datos de inicio de sesión ... magento wtf ...
MagenX
14

Aquí está mi plan de prueba básico:

  • Aplicar cupón
  • Inicie sesión en admin
  • Forzar al administrador a cambiar la contraseña
  • Exportar un CSV
  • Importar un CSV
  • Restablecer contraseña como administrador y cliente
  • Crea un pedido en admin
  • Crear y ordenar en el front-end como invitado
  • Crear y ordenar en el front-end como cliente
  • Agregar una imagen a un producto
  • Crear una nota de crédito
  • Crear una factura
Brideo
fuente
¿Cómo exactamente esta lista me ayudará a comprender los errores causados ​​por este parche o es solo un desarrollador que tiene las manos curvas?
MagenX
@MagenX No sé lo que significa un desarrollador con manos curvas. Pero cuando diferencié el parche hice una lista de cosas que podrían ser problemáticas.
Brideo
@MagenX, así que después de aplicar el parche verificaría esas áreas, lo siento si no fue útil.
Brideo
Ah, un conjunto de pruebas básico para verificaciones posteriores a los parches para asegurarse de que encuentra la respuesta antes de que lo hagan sus clientes y trabajadores ... Tiene mucho sentido ya que ejercita las áreas afectadas por los archivos parcheados.
Fiasco Labs
Esta sería una buena (¿mejor?) Respuesta a esta pregunta aquí: magento.stackexchange.com/questions/98565/…
Anna Völkl
8

Captura de pantalla para la página de detalles de la orden de administrador, si muestra este tipo de problema, ¡siga las instrucciones a continuación, funciona para mí!ingrese la descripción de la imagen aquí

Solución

Cambie la línea 124 en app / code / core / Mage / Adminhtml / Helper / Sales.php desde $ links = []; a $ enlaces = matriz ();

Randhir Yadav
fuente
7

Cada vez que instalamos un parche para uno de nuestros clientes, utilizamos la siguiente lista de verificación:

  • Realice una copia de seguridad completa de los archivos y la base de datos del sitio.
  • Asegúrese de que todos los parches anteriores se hayan instalado correctamente (se puede ver en el app/etc/applied.patches.listarchivo)
  • Después de la instalación exitosa del parche, borre el caché y haga un pedido de prueba para asegurarse de que todo funcione.

Supongo que eso es todo lo que hay que hacer. Los parches están diseñados para instalarse rápidamente y sin problemas. 9 de cada 10 veces se instalarán perfectamente bien y para las otras veces tenemos copias de seguridad. Mientras no estés jugando con los archivos principales, todo debería estar bien.

Gary Olderman
fuente
archivo probablementeapp/etc/applied.patches.list
MagenX
3
No siento que esto responda la pregunta. El OP se refiere al SUPEE-6788 que requería toneladas de trabajo manual en extensiones de terceros, no cómo aplicar un parche.
Robbie Averill
OP se refiere a SUPEE-6788 Robbie, no 6788.
Gary Olderman
Lo siento, para aclarar la pregunta, obviamente, se trata de 7405, pero se hace a la luz de la pesadilla que fue 6788- es contexto
Robbie Averill
6

aquí archivos afectados por 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
fuente
5

Después de aplicar el SUPEE-7405 en Magento 1.14.1.0, recibí el error:

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

El problema fue causado por el método re-declarado _validateControllerInstance en

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

Después de eliminar la segunda (misma) declaración de función, el problema se ha resuelto.

vladPavlov
fuente
5

Recibí el siguiente error después de instalar el parche SUPEE-7405 cuando intento iniciar sesión en admin.

Error fatal: Llame al método indefinido Mage_Core_Controller_Response_Http :: sendHeadersAndExit () en
\ app \ code \ core \ Mage \ Admin \ Model \ Session.php en la línea 135

porque tuve este archivo anulado en el grupo de código local que no tiene un sendHeadersAndExit método creado por este parche.

\app\code\local\Mage\Core\Controller\Response\Http.php El siguiente método no existe. (Este es un nuevo método agregado al archivo central)

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

Después de agregar esto al problema del archivo anulado desapareció.

Mukesh
fuente
3

Uno de los problemas que tuve al usar SUPEE-7405 es errores de carga de imágenes

Por lo tanto, verifico los cambios en este archivo: 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))) {

Entonces, descubrí dos formas de superarlo:

Opción 1:

Realizo un cambio manual en el archivo lib / Varien / File / Uploader.php para ajustar los permisos 0640/0750.

Opción 2: porque Magento espera que el servidor web sea el propietario de los archivos del sitio:

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

La otra forma de resolver el problema es hacer que el servidor web sea el propietario de los archivos

chown -R web-server-user-name magento / root / path

El nombre de usuario del servidor web es comúnmente www-data o apache.

Jameslj
fuente