Un nuevo parche de seguridad está disponible para Magento 1, que aborda 13 problemas de APPSEC
https://magento.com/security/patches/supee-10266
¿Qué problemas comunes debe tener en cuenta al aplicar este parche?
SUPEE-10266, Magento Commerce 1.14.3.6 y Open Source 1.9.3.6 contienen múltiples mejoras de seguridad que ayudan a cerrar la falsificación de solicitudes entre sitios (CSRF), fuga de datos no autorizada y vulnerabilidades de ejecución remota de código de usuario administrador autenticado. Estas versiones también incluyen soluciones para problemas con la recarga de imágenes y pagos mediante el pago en un solo paso.
magento-1
patches
security
supee-10266
Luke Rodgers
fuente
fuente
Respuestas:
Parte de la información importante se comparte aquí. La mayoría de los archivos del backend de Magento. El archivo enumera:
Lo importante es verificar estos tres archivos.
app / code / core / Mage / Checkout / controllers / CartController.php condición adicional verifique la identificación del cliente :
app / code / core / Mage / Sales / Model / Resource / Order / Item / Collection.php agregado Método adicional addFilterByCustomerId en la colección.
app / code / core / Mage / Core / Model / File / Validator / Image.php
si 'general / reprocess_images / active' es falso, omita el reprocesamiento de imágenes. NOTA: Si desactiva el reprocesamiento de imágenes, el proceso de carga de imágenes puede ocasionar riesgos de seguridad.
Espero que sea útil. Yo creo que
fuente
EE 1.14.2.4
Error tipográfico en la línea 726 del parche:
autocomplete="new-pawwsord"
(app/design/adminhtml/default/default/template/backup/dialogs.phtml
)El parche parece faltar a 2 archivos frontend:
Parcheado:
app\design\adminhtml\default\default\template\oauth\authorize\form\login-simple.phtml
No parcheado:
app\design\frontend\base\default\template\oauth\authorize\form\login-simple.phtml
app\design\frontend\rwd\default\template\oauth\authorize\form\login-simple.phtml
Además, no olvide verificar las anulaciones locales ... Tuve que parchear manualmente una anulación de agrupación de códigos local de
app\design\adminhtml\default\default\template\sales\order\view\info.phtml
Vea la respuesta de cuasiobject para un problema de pago de una página. Ticket de soporte empresarial creado, esperando respuesta de Magento. Si no desea esperar un parche actualizado, una posible solución es modificar la declaración "else"
app\design\frontend\enterprise\default\template\giftcardaccount\onepage\payment\scripts.phtml
para incluir el elemento form_key de la siguiente manera:if (($('p_method_' + methodName) && $('p_method_' + methodName).checked) || elements[i].name == 'form_key') { ...
CE 1.9.2.4
Error tipográfico en la línea 694 del parche:
autocomplete="new-pawwsord"
(app/design/adminhtml/default/default/template/backup/dialogs.phtml
)La extensión TrueOrderEdit necesita ser parcheada ... cambie
echo $_groupName
aecho $this->escapeHtml($_groupName)
en los siguientes archivos:app\design\adminhtml\default\default\template\orderedit\sales\order\view\edit.phtml
app\design\adminhtml\default\default\template\orderedit\sales\order\view\history.phtml
app\design\adminhtml\default\default\template\orderedit\sales\order\view\info.phtml
Finalmente, este archivo de plantilla principal probablemente también debería ser parcheado con la misma actualización $ _groupName:
app\design\adminhtml\default\default\template\sales\order\view\edit.phtml
Todas las versiones 1.X
Si ha eliminado la
/downloader
carpeta (o/downloader/template
) de su base de código, es posible que deba editar manualmente el archivo de parche .sh y eliminar la última sección, comenzando condiff --git downloader/template/login.phtml downloader/template/login.phtml
Con respecto al error de clave secreta no válida , consulte mi respuesta aquí: Clave secreta no válida de Magento 1.9. Por favor actualiza la página
fuente
Nosotros en MageHost.pro encontramos un problema en el parche para Magento 1.9.1.1, archivo de parche
PATCH_SUPEE-10266_CE_1.9.1.1_v1-2017-09-15-04-59-56.sh
Error:
Lo arreglé reemplazando las líneas 454-472 por 454-471 de
PATCH_SUPEE-10266_CE_1.9.1.0_v1-2017-09-13-06-34-33.sh
Código antiguo, línea 454-472:
Nuevo código, líneas 454-471:
fuente
Parece que solo 1 clave de formulario se ha agregado en este parche.
Entonces, si tiene alguna dificultad para eliminar un widget del panel de administración, asegúrese de que el bloque esté generando su URL de eliminación y de que no tenga anulaciones de este bloque.
fuente
Imposible pagar en EE 1.11+
En
app/design/frontend/enterprise/default/template/giftcardaccount/onepage/payment/scripts.phtml
el formulario, se ha eliminado el código de validación de la clave y se rompe el pago completo, más información aquí: https://magento.stackexchange.com/a/193442/2380Solución alternativa por ahora (como V2 para EE 1.11+ se lanzará para resolver ese problema): deshaga el archivo de plantilla para ambos
enterprise/default
y losrwd/entreprise
temas.Diferencias entre parche y versión
EDITAR: 1.9.3.6 se lanzó, por lo que esta información ya no es relevante
Uno de los principales problemas que se ha planteado por ahora es que a 1.9.3.5 le faltan 3 parches de seguridad del parche. Por lo tanto, recomiendo encarecidamente solo parchear y no actualizar a 1.9.3.5 todavía
fuente
Todavía estoy tratando de determinar si esto es exclusivo de nuestra tienda, debido a las plantillas personalizadas. Sin embargo, se rompe con el parche aplicado y no se rompe cuando volvemos. Quería publicar en caso de que otros puedan informar lo mismo.
En EE 1.14.2.0, no podemos avanzar más allá del paso Información de pago de la compra con el parche aplicado. Estamos actualizados hasta SUPEE-9767 v2 antes de aplicar el nuevo parche.
Nuestro problema parece derivarse de la eliminación
|| elements[i].name == 'form_key'
de:Se elimina del
enablePaymentMethods
bucle. Eso parece dejar deshabilitada la entrada oculta form_key del formulario y, por lo tanto, no se pasa al controlador cuando se envía.Luego,
$this->_validateFormKey()
falla y el controlador no devuelve nada.Actualización 1 (2017-09-18) : envié un ticket al soporte de Magento el viernes y me dijeron que "[todavía no] había sido informado por ningún comerciante". En lugar de enviar copias de seguridad, intenté duplicar en una instalación limpia de 1.14.2.4 y 1.14.3.4 con los parches aplicables aplicados. Pude duplicar y respondí al boleto. En espera de una nueva respuesta.
Nota: Sistema> Configuración> Administrador> Seguridad> Habilitar validación de clave de formulario al finalizar la compra debe ser "Sí". Si "No", no verá el problema.
Actualización 2 (2017-09-18) : Noté que no podía duplicar el problema con 1.14.3.6, pero cuando revisé el archivo de plantilla anterior,
|| elements[i].name == 'form_key'
todavía está allí. Parece que los parches no deberían haberlo eliminado. También envió esta información al soporte de Magento.Actualización 3 (2017-09-20): Acabo de recibir un parche para solucionar el problema de 1.14.0.0–1.14.3.4, que simplemente restaura la
form_key
línea a la plantilla. Solicite asistencia para SUPEE-10348.fuente
Cuando vaya a Magento Connect, y luego cuando haga clic en "Volver a Admin" en la esquina superior derecha de la página. Al regresar al panel de administración, aparece un mensaje de error.
mensaje de error rojo : "Clave secreta no válida. Actualice la página".
Una vez que actualiza la página, se va.
Actualizado: 15 de septiembre de 2017
Si inicia sesión en el administrador de Magento, digamos Panel de control. Sin cerrar sesión en el panel del Panel de control, vaya y abra otra ventana del navegador en el mismo navegador y vaya a example.com/admin, iniciará sesión automáticamente y mostrará exactamente el mismo mensaje
mensaje de error rojo : "Clave secreta no válida. Actualice la página".
Hasta ahora es el único problema que he encontrado. Ni siquiera estoy seguro de si es un problema sólido ya que el mensaje desaparece después de la actualización.
fuente
if ($_keyErrorMsg != '') { Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
debería serif (!$_isValidFormKey){ Mage::getSingleton('adminhtml/session')->addError($_keyErrorMsg); };
Le pregunté al Soporte de Magento sobre el siguiente problema
Me respondieron esta mañana y lanzaron un nuevo parche PATCH_SUPEE-10348 .
Magento acaba de resolver el problema haciendo una reversión en este archivo.
fuente
Encontré un problema con las plantillas de correo electrónico, CSS personalizado y modman. Si, por ejemplo, tiene un tema basado
rwd/default
, tiene una costumbreskin/frontend/package/theme/css/email-inline.css
y sus archivos de máscara se incluyen a través de modman a través de un enlace simbólico, el CSS no se agregará a la plantilla de correo después de aplicar SUPEE-10266. El problema es que enMage_Core_Model_Email_Template_Abstract::_getCssFileContent
, se han introducido algunos controles:Lo resolví con un truco sucio con una
app/code/local/Mage/Core/Model/Email/Template/Abstract.php
anulación por el momento. Tuve que debilitar la verificación, para que sea posible cargar el archivo CSS desde el directorio modman:Ya no verificará si la ruta incluye el directorio completo de máscaras, pero solo verificará si la ruta contiene la cadena
/skin
y si no incluye..
, lo que debería evitar ataques transversales de directorio.fuente
if (strpos($filename, '..') === false) { $positionSkinDirectory = 1; }
la fila después de que$positionSkinDirectory
se configuró originalmente. Esto debería ayudar a evitar el recorrido del directorio.Aquí está la lista completa de parches afectados por el
autocomplete="new-pawwsord"
error tipográfico:fuente
En Magento 1.8.1 me encontré con problemas con los siguientes archivos:
Terminé descargando la última versión de Magento que NO contiene el parche. En este caso Magento 1.9.3.4 .
Reemplazar los archivos 'corruptos' con el de la descarga solucionó el problema. Pude aplicar el parche con éxito.
Pero tenga cuidado: sugiero revertir los 3 archivos después de parchear nuevamente y editar los archivos manualmente.
fuente