Magento ha lanzado un nuevo parche de seguridad para M1 y actualizaciones para M1 y M2.
Estas versiones incluyen correcciones de seguridad críticas. "Recomendamos encarecidamente que todos los comerciantes actualicen lo antes posible".
¿Qué problemas debo tener en cuenta al actualizar o aplicar este parche?
SUPEE-11086, Magento Commerce 1.14.4.1 y Open Source 1.9.4.1 contienen múltiples mejoras de seguridad que ayudan a cerrar la ejecución remota de código (RCE), las secuencias de comandos entre sitios (XSS), la falsificación de solicitudes entre sitios (CSRF) y otras vulnerabilidades.
Actualización de seguridad de Magento 2.3.1, 2.2.8 y 2.1.17
Estas versiones contienen múltiples actualizaciones funcionales y de seguridad. Riesgo: Crítico para Magento Commerce y Magento Open Source antes de 2.1.17, 2.2.8 y 2.3.1.
Respuestas:
El mayor problema, que se encontró:
Mage::log()
funciona incorrectamente. Si llama a esta función con un archivo de registro personalizado (y aún no existe), el registro no se escribirá en el archivo, debido a una validación adicional, agregada en el SUPEE-11086.fuente
Mage::log()
Mage::log()
método.Importante: el nombre del parche incluye la versión más alta a la que se aplica el parche. Entonces, un parche para 1.9.3.10 se aplicaría a 1.9.3.10, 1.9.3.9, .... a otro parche. Intentaremos mejorar los nombres en la próxima versión y también puede usar https://github.com/steverobbins/magedownload-cli, ya que debería ver los metadatos de las versiones correctamente en la API.
fuente
Como otros, tenía archivos de registro que dejaban de escribir datos por completo.
Origen del error: los archivos de registro no escriben datos
En
app/Mage.php
hicieron este cambio:que busca en la configuración una lista separada por comas de extensiones de archivo aprobadas. Sin embargo, NO agregaron esta lista en la configuración; ni siquiera una opción en el Administrador de Mage para que podamos configurar esto por nuestra cuenta.
Solución al error: los archivos de registro no escriben datos
Para resolver esto, simplemente haga una entrada en la base de datos en la
core_config_data
tabla.INSERT INTO core_config_data VALUES ( NULL, 'default', 0, 'dev/log/allowedFileExtensions', 'log,txt,html,csv' );
Borre también el caché de objetos y debería ver los datos escritos en los archivos de registro una vez más.
ls -lrt var/log/ | tail
Como referencia, este problema estaba en EE 1.14.2.0 con todos los parches de seguridad aplicados.
Abrí un ticket con el Soporte de Magento sobre este problema, pero aún no he recibido una respuesta de un técnico. Estoy en la cola
Lo que realmente me confunde acerca de este error es que Magento ya tiene un método para validar las extensiones de archivo de registro que agregaron a través de SUPEE-10415 a fines de 2017.
app/code/core/Mage/Log/Helper/Data.php
¿Por qué no reutilizaron esa lógica en lugar de intentar una reinvención incompleta de la rueda de troncos?
fuente
Mage::log()
no puede escribir nada en los archivos de registro si no existen inicialmente. Esto se debe a laisValid
función deZend_Validate_File_Extension
arrojar un error no encontrado al llamarZend_Loader::isReadable($value)
. He solucionado esto temporalmente moviéndomeisValid
al try / catch después de que se haya creado el archivo de registro y luego eliminando el archivo si falla la validación:Esta es definitivamente una solución temporal hasta que tengamos algo un poco más sólido
fuente
Posible problema con el parche 1.9.3.10
En el parche tenemos:
sin embargo, mirando el código en 1.9.3.10 (a través de mage LTS) no veo ese código en cuestión:
https://github.com/OpenMage/magento-lts/blob/1.9.3.x/app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
PERO, existe para 1.9.4
https://github.com/OpenMage/magento-lts/blob/1.9.4.x/app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
La posible razón es que falta un parche no aplicado previamente.
fuente
Intentando instalar el parche en Magento 1.9.0.1 usando PATCH_SUPEE-11086_CE_1.9.1.0_v1-2019-03-26-03-03-13.sh Encontré este error
Lo arreglé eliminando el siguiente código de 'app / etc / config.xml' y luego volví a ejecutar el parche
fuente
También estoy un poco confundido sobre el nombre de los parches M1.
Para los parches más antiguos, los nombraron como
SUPEE-10975 for CE 1.9.3.4-1.9.3.10
oSUPEE-10888 for CE 1.9.2.0-1.9.2.4 (0.07 MB)
pero ahora solo se trata de una versiónPATCH_SUPEE-11086_CE_1.9.3.10_v1.sh
.¿El parche actual aborda todas las versiones de una versión menor o solo la última?
Hice una prueba con una tienda 1.9.3.1 y todo pasó, pero no estoy muy seguro de si eso es correcto para otras versiones.
fuente
El registro se rompe en Magento 1.9. Para arreglar el inicio de sesión en el parche SUPEE-11086:
En app / Mage.php:
Recurso: https://gist.github.com/piotrekkaminski/0596cae2d25bf467edbd3d3f03ab9f8f
¡Espero que esto ayude!
fuente
Todos los archivos PHP nuevos en el parche para M1 tienen vars de plantilla no procesados
No es un problema pero parece inexacto. Tuve la misma sensación después de SUPEE-10975.
fuente
He notado un problema con los archivos de registro que ya no se crean y solo se escriben si el archivo de registro ya existe. Esto parece ser causado por la línea:
desde app / Mage.php. Arreglé esto usando la vieja lógica. Entonces reemplace la línea de arriba con lo siguiente:
fuente
En el parche 10975 hubo un error en este punto. Faltaba la declaración de devolución. Tal vez solucionó este error después de aplicar el parche 10975 o ignoró el cambio. El error se corrigió en 11086. Si esta línea de código ya ha sido ajustada / ignorada por usted, dará como resultado el error que describió al aplicar el nuevo parche. Si ya ha solucionado el error usted mismo, simplemente elimine el bloque en el archivo del parche y vuelva a ejecutar el parche.
fuente
Usando SUPEE-11086 | CE_1.9.1.0 como lo sugiere Ryan Hoerr arriba.
Aplicando SUPEE-11086 | CE_1.9.1.0 | v1 | 3f120e6a795eed55267bd2b9164b3984913ddfc9 | Vie Mar 22 18:40:11 2019 +0000 | 4f3f369e723fe31212cb5be9adda113f891d7f62..HEAD
A CE_1.9.2.1
Me sale un error en cada archivo.
He aplicado el parche con éxito a otros repositorios.
Código del núcleo sin tocar.
Lista de parches aplicados
fuente
Problemas con el parche M1.9.3.7 PATCH_SUPEE-11086_CE_1.9.3.10_v1.sh
fuente
Puede confirmar que existe un problema al intentar aplicar
SUPEE-11086
en una versión recién descargada y completamente parcheada de 1.9.1.1, que incluye todo, hasta el parche de gráficos del panel de administración,MPERF-10509-CE-2019-03-13-06-31-24.diff
El parche falla en los siguientes archivos.
Estos archivos no tienen cambios desde la confirmación inicial de la descarga v1.9.1.1. Copiar archivos de la instalación 1.9.2.4, aplicar SUPEE-11086 y luego compararlos con la fuente v1.9.4.1 confirma que ahora coinciden.
Magento v1.9.1.1
parece ser un problema un poco niño ...fuente
Puede confirmar que existe un problema al intentar aplicar
SUPEE-11086
en una versión recién descargada y totalmente parcheada de 1.9.3.0, que incluye todo, hasta el parche de gráficos del panel de administración,MPERF-10509-CE-2019-03-13-06-31-24.diff
El parche falla en app / config.xml ya que falta el nodo a continuación. Agregue el nodo antes de ejecutar SUPEE-11086, sin problemas.
fuente
Descubrí un nuevo problema con el modelo
Mage_Eav_Model_Attribute_Data_File
En la entidad de clientes, he agregado atributos de carga de archivos. Estos atributos no son obligatorios, y cuando quiero eliminar un archivo sin cargar uno nuevo, la eliminación no funciona, porque el valor del atributo no se valida a través del nuevo método
setAttributeValidationAsPassed()
La solución rápida que he hecho está en el método
validateValue($value)
Este problema parece estar presente en todas las versiones de Magento 1.x desde
SUPEE-11086
fuente
Magento 1.9.3.1
Se produjo un problema al intentar parchear CE 1.9.3.1 usando el parche PATCH_SUPEE-11086_CE_1.9.3.10_v1.sh:
fuente