Parche de seguridad SUPEE-10570 - ¿Posibles problemas?

45

Magento ha lanzado un nuevo parche de seguridad para M1 y actualizaciones para M1 y M2.

¿Qué problemas debo tener en cuenta al actualizar o aplicar este parche?

SUPEE-10570

SUPEE-10570, Magento Commerce 1.14.3.8 y Open Source 1.9.3.8 contienen múltiples mejoras de seguridad que ayudan a cerrar la ejecución remota de código (RCE), la creación de scripts entre sitios (XSS) y otros problemas. Estas versiones también incluyen pequeñas correcciones funcionales enumeradas en el Notas de lanzamiento.

MAGENTO 2.2.3, 2.1.12 Y 2.0.18 ACTUALIZACIÓN DE SEGURIDAD

Magento Commerce y Open Source 2.2.3, 2.1.12 y 2.0.18 contienen múltiples mejoras de seguridad que ayudan a cerrar el Cross-Site Scripting (XSS), la ejecución de código remoto de usuario administrador autenticado (RCE) y otras vulnerabilidades. Las versiones incluyen correcciones funcionales adicionales. Para obtener más información sobre las soluciones funcionales, consulte las Notas de la versión de Magento Commerce 2.0.18, 2.1.12, 2.2.3 y Magento Open Source 2.0.18, 2.1.12, 2.2.3.

Ryan Hoerr
fuente
1
Para Open Source / Community Edition 1.x, no parece que se incluyan cambios en la plantilla de interfaz , por lo que al menos esto no debería crear demasiados problemas. Sin embargo, una copia de seguridad de la base de datos es muy recomendable ya que hay dos scripts de instalación (actualización) incluidos en este parche. Pueden seguir más detalles después de haber parcheado los primeros entornos.
Christoph Farnleitner
1
Si tiene tiendas que usan una cuadrícula adminhtml personalizada que incluye el nombre de la tienda, el parche ahora se le escapa presumiblemente para corregir algunas posibles vulnerabilidades basadas en el cambio del nombre y la representación de la tienda.
Andrew Quackenbos
Hasta ahora he parcheado 2 sitios en 1.9.0.1 sin problemas.
asdfasdfasf
1
He aplicado el parche en 1.9.3.0, 1.9.0.1 y 1.9.1.0 hasta ahora sin problemas
David
2
Esto es del blog de seguridad: magento.com/security/patches/supee-10570 NOTA: Algunos clientes están experimentando problemas en el proceso de pago al intentar crear una cuenta durante el proceso de pago. Un parche de actualización o una solución alternativa para solucionar este problema estará disponible en breve. Si está experimentando este problema en este momento, considere revertir la parte del código que causa este problema aplicando el siguiente parche: invalid_sesssion_fix.patch de la sección Archivos de lanzamiento, SUPEE-10570
The Tankgirl

Respuestas:

29

Aquí está la lista de archivos modificados por el parche SUPEE-10570:

app/Mage.php 
app/code/core/Mage/Admin/Helper/Data.php
app/code/core/Mage/Admin/Model/Block.php 
app/code/core/Mage/Admin/Model/Resource/Block.php 
app/code/core/Mage/Admin/Model/User.php 
app/code/core/Mage/Adminhtml/Block/Catalog/Category/Edit/Form.php 
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php 
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Grid/Renderer/Sender.php 
app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php 
app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Info.php 
app/code/core/Mage/Adminhtml/Block/System/Store/Edit/Form.php 
app/code/core/Mage/Adminhtml/Block/Tag/Assigned/Grid.php 
app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Store.php 
app/code/core/Mage/Adminhtml/Block/Widget/Tabs.php 
app/code/core/Mage/Adminhtml/Model/Config/Data.php 
app/code/core/Mage/Adminhtml/Model/System/Store.php 
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php 
app/code/core/Mage/Adminhtml/controllers/CustomerController.php 
app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Core/Model/Variable.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
app/code/core/Mage/Customer/etc/config.xml
app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.1.1.1-1.6.2.0.1.1.2.php
app/code/core/Mage/Downloadable/etc/config.xml
app/code/core/Mage/Downloadable/etc/system.xml
app/code/core/Mage/Downloadable/sql/downloadable_setup/upgrade-1.6.0.0.2.1.1-1.6.0.0.2.1.2.php
app/code/core/Mage/ImportExport/Model/Import.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Product.php
app/code/core/Mage/Shipping/Model/Info.php
app/code/core/Mage/Widget/controllers/Adminhtml/Widget/InstanceController.php
app/design/adminhtml/default/default/template/catalog/product/attribute/set/main.phtml
app/design/adminhtml/default/default/template/customer/tab/view.phtml
app/design/adminhtml/default/default/template/customer/tab/view/sales.phtml
app/design/adminhtml/default/default/template/dashboard/store/switcher.phtml
app/design/adminhtml/default/default/template/downloadable/product/composite/fieldset/downloadable.phtml
app/design/adminhtml/default/default/template/downloadable/product/edit/downloadable/links.phtml
app/design/adminhtml/default/default/template/downloadable/sales/items/column/downloadable/creditmemo/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/name.phtml
app/design/adminhtml/default/default/template/newsletter/preview/store.phtml
app/design/adminhtml/default/default/template/report/store/switcher.phtml
app/design/adminhtml/default/default/template/sales/order/view/info.phtml
app/design/adminhtml/default/default/template/store/switcher.phtml
app/design/adminhtml/default/default/template/store/switcher/enhanced.phtml
app/design/adminhtml/default/default/template/system/convert/profile/wizard.phtml
app/design/adminhtml/default/default/template/tax/rate/title.phtml
app/design/adminhtml/default/default/template/widget/form/renderer/fieldset.phtml
app/locale/en_US/Mage_Catalog.csv
app/locale/en_US/Mage_ImportExport.csv
lib/Zend/Mail/Transport/Sendmail.php

EDITAR

Finalmente, después de implementar en mi sitio web de productos (CE 1.7.0.2), noté un problema de bloqueo crítico (proceso de pago bloqueado).

El contexto: después de la dirección del paso 1, creo y registro directamente al cliente, debería ver solo el siguiente paso de pago.

El problema: después del supee-10570, el proceso de pago se interrumpe después del paso 1 (en caso de que se cree una cuenta) y el cliente es redirigido a la página de inicio (con el carrito de compras vacío + desconectado) = imposible realizar su pago.

La solución de emergencia: en caso de que encuentre un problema similar con su proceso de pago / sesión del cliente, comente las líneas 414-430 de app / code / core / Mage / Core / Model / Session / Abstract / Varien.php (las agregadas por el parche , vea abajo).

//         if ($this->useValidateSessionPasswordTimestamp()
//             && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
//             && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
//             && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
//             > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
//         ) {
//             return false;
//         }

//         if ($this->useValidateSessionExpire()
//             && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
//             && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
//             return false;
//         } else {
//             $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
//                 = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
//         }

EDITAR (2)

Creo que la siguiente condición siempre devolverá falso (Mage_Core_Model_Session_Abstract_Varien en las líneas 414-419, especialmente las líneas 417 + 418).

if ($this->useValidateSessionPasswordTimestamp()
            && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
            && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
            && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
        ) {
        return false;

VALIDATOR_PASSWORD_CREATE_TIMESTAMP siempre será mayor que VALIDATOR_SESSION_EXPIRE_TIMESTAMP. La marca de tiempo de "vencimiento" de la sesión se redefine en la creación de la cuenta, por lo que inevitablemente es más antigua que la sesión init.

Entonces, por ejemplo, si crea el cliente durante el pago, esto devolverá falso y el cliente simplemente será expulsado (= finalizar el pago, redirigir a la página de inicio y al carrito vacío). Bastante mal.

Informé este problema al equipo de magento. Daré comentarios aquí lo antes posible.


EDITAR (3)

Un nuevo parche es wip (en la página de descarga del parche de magento está escrito "SUPEE-10570 para CE 1.7.0.0 - PARCHE ACTUALIZADO ESPERADO, NO UTILIZAR (0.06 MB)").


EDITAR (4) ~ 1 mes después del problema de bloqueo inicial informado

¡Hola! Espero que todos sean bienes (y espero que no haya mantenido el estado del parche inicial hasta ahora, a menos que los ingresos de su negocio probablemente hayan disminuido seriamente ^^).

Noté la siguiente oración de la página oficial: "Magento ahora está proporcionando un parche actualizado (SUPEE-10570v2) que ya no causa este problema. Sin embargo, tenga en cuenta que este nuevo parche ya no protege contra dos sesiones de bajo riesgo relacionadas con el manejo problemas de seguridad que protegen el parche SUPEE-10570 ". de la página oficial supee-10570.

En la página de lanzamiento finalmente podemos encontrar el archivo v2 (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh).

He investigado las modificaciones en detalles. Finalmente, parece que el equipo de magento decidió abandonar una parte de seguridad del parche. Espero que este agujero de seguridad no cause daños graves (es poco crítico según la nota oficial).

Después de revertir v1 + aplicar v2, tenga cuidado de que los siguientes archivos se reviertan como su estado inicial (antes de que se aplicara v1):

app/code/core/Mage/Adminhtml/controllers/CustomerController.php
app/code/core/Mage/Customer/controllers/AccountController.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php

PD: obviamente, otros archivos también se modifican, verifique en consecuencia.

Vaquero oscuro
fuente
1
@Icon: acabo de informar este error a magento. Publicaré la respuesta tan pronto como reciba un comentario oficial.
DarkCowboy
44
@Icon / Soleil: Lamentablemente, todavía no hay una respuesta oficial o solución con respecto a mi solicitud de corrección de errores.
DarkCowboy
1
@DarkCowboy Acabo de notar que una vez que va a la página de descarga del parche, puede ver que el equipo de Magento agregó una nota en el parche 1.7.0.0 y 1.7.0.2. Parece que viene un nuevo parche.
Icono
3
Hola a todos. Vi que se ha agregado un nuevo parche ("PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-28-04-54-53.sh"). Puede ver la diferencia aquí (el panel izquierdo es el primer parche "PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-23-06-28-18.sh"): diffchecker.com/uGON91aR . ¿Entonces no hay solución en el nuevo parche? Además, el aviso "... PARCHE ACTUALIZADO ESPERADO, NO UTILIZAR" ha desaparecido. Así que estoy un poco confuso sobre lo que el equipo central de magento está haciendo con este problema.
DarkCowboy
1
FYI, V2 del parche todavía enumera "SUPEE-10570_CE_v1.9.2.4 | CE_1.9.2.4 | v1" enapp/etc/applied.patches.list
Moose
9

(no estoy seguro si esto estaba en las notas de la versión desde el principio)

Problemas conocidos

Estos dos problemas conocidos están asociados con el uso de etiquetas HTML dentro del atributo SKU de un producto:

  • Si intenta importar productos que contienen etiquetas HTML en el atributo SKU, Magento muestra este error en la etapa de validación de datos (es decir, cuando hace clic en Verificar datos ):
 Invalid value in SKU column. HTML tags are not allowed.
  • Si intenta crear o editar un producto en el panel de administración y el valor del atributo SKU del producto contiene etiquetas HTML, Magento arroja este error cuando intenta guardar el producto: HTML tags are not allowed in SKU attribute.

De las notas del parche :

Si el parche no se aplica durante el parche lib/Zend/Mail/Transport/Sendmail.php, puede significar que su instalación de Magento fue parcheada previamente con SUPEE-9652v1 en lugar de SUPEE-9652v2. La solución recomendada es revertir el parche SUPEE-9652v1 y aplicar SUPEE-9652v2 antes de aplicar SUPEE-10570.

sv3n
fuente
7

Tuve el mismo problema que @DarkCowboy después de aplicar el parche a Magento CE 1.7.0.2.

Después de elegir registrarse como un nuevo cliente durante el proceso de pago, al realizar el pedido se crea tanto el pedido como el cliente, pero en lugar de mostrar la página de éxito del pedido, me redirigen a la página de inicio y me desconecto.

La solución que he encontrado es invertir el orden de los bloques de código en los cambios a app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.

Al comparar la versión parcheada con el mismo archivo en Magento CE 1.9.3.8, encontré que los nuevos bloques para validar el vencimiento de la sesión y la marca de tiempo de la contraseña están en un orden diferente.

Magento CE 1.9.3.8 - Líneas 476-491:

    if ($this->useValidateSessionExpire()
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
        return false;
    } else {
        $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
            = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
    }
    if ($this->useValidateSessionPasswordTimestamp()
        && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
        > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
    ) {
        return false;
    }

Magento CE 1.7.0.2 - Líneas 414-430:

    if ($this->useValidateSessionPasswordTimestamp()
        && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
        > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
    ) {
        return false;
    }

    if ($this->useValidateSessionExpire()
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
        return false;
    } else {
        $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
            = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
    }

Esto da como resultado el valor de $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]ser mayor que $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime(), lo que significa que el método siempre devuelve falso y la validación falla.

Cambiar el código en Magento CE 1.7.0.2 para que coincida con la versión en Magento CE 1.9.3.8 soluciona el problema.

El código resultante para Magento CE 1.7.0.2 - Líneas 414-430:


    if ($this->useValidateSessionExpire()
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
        return false;
    } else {
        $this->_data[self::VALIDATOR_KEY][self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]
            = $validatorData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP];
    }
    if ($this->useValidateSessionPasswordTimestamp()
        && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
        && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
        && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
        > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
    ) {
        return false;
    }

Sugeriría crear su propio archivo de parche y aplicarlo directamente al archivo central (así es como normalmente me acerco a corregir errores en el núcleo). Esto facilitaría la reversión si Magento emite una versión 2 del parche.

Dave Herbert
fuente
Hola Dave. Parece que encontraste el mismo problema que yo. Con respecto a su solución, con su inversión, la segunda condición no se probará en absoluto ... Investigaré estos datos de sesión.
DarkCowboy
44
Actualización para 1.7.0.2 prevista para mediados de marzo. (v2 del parche), el problema está confirmado.
Piotr Kaminski
¿Alguien ha probado si esta solución realmente mantiene activa la comprobación de la marca de tiempo de cambio de contraseña o si vuelve a abrir el agujero de seguridad que intentaban parchear? Nota: Si no le importa el beneficio de seguridad, puede simplemente deshabilitar la comprobación de la marca de tiempo de cambio de contraseña al useValidateSessionPasswordTimestamp()regresar false. (un cambio de línea en el mismo archivo)
Eric Seastrand
Hola. Hemos evaluado que el problema de "redirigir con carrito vacío" todavía existe con el pedido de validación modificado. Desactivamos la comprobación "useValidateSessionPasswordTimestamp" hasta que, magento cree una actualización.
Steven Fritzsche
6

Vimos una página en blanco en / checkout / cart después de aplicar SUPEE-10570 y compilar. Solo para aclarar: con el compilador desactivado, todo salió bien, con el compilador activado solo pudimos ver una página de carrito en blanco cuando iniciamos sesión sin ninguna entrada de registro (incluso después de activar todos los registros posibles y el modo desarrollador).

La solución fue alterar la función getPasswordTimestamp()en app/code/core/Mage/Customer/Helper/Data.php(por supuesto, significa app/code/local/Mage/Customer/Helper/Data.php:!) Y usar en Mage::getSingleton('core/resource')lugar de Mage::getModel('customer/customer')o Mage::getSingleton('customer/session'). Por lo tanto, reemplace la función completa, por ejemplo, con estas líneas de código:

    $resource = Mage::getSingleton('core/resource');
    $readConnection = $resource->getConnection('core_read');
    $query = 'SELECT * FROM ' . $resource->getTableName('customer_entity').' WHERE `entity_id` = '.$customerId;
    $results = $readConnection->fetchAll($query);
    $result=$results[0];
    $date_created = Varien_Date::toTimestamp($result['created_at']);
    return $date_created;

Después de que el problema de compilación desapareció. Alguien más con este problema?

Explicación en alemán aquí .

Bastian Kretzschmar
fuente
Esto es, de muchas maneras diferentes, algunos de los peores consejos y códigos jamás vistos aquí. No hagas nada de esto en casa.
pong
Exactamente lo mismo conmigo. Este parche no funciona con el compilador habilitado.
Rafael Patro
En 1.9.3.9 funciona bien para mí.
TonkBerlin
4

1.7.0.0

Parche: PATCH_SUPEE-10570_CE_v1.7.0.0_v1-2018-02-23-06-37-58.sh

Este error ocurre si no ha aplicado previamente SUPEE-9652 o SUPEE-9767

patching file lib/Zend/Mail/Transport/Sendmail.php
Hunk #1 FAILED at 119.
Hunk #2 FAILED at 130.

Aplique esos parches para corregir el problema.

Tyler V.
fuente
2
Asegúrese de tener 9652 y 9767 instalados
Icono
De hecho, probamos SUPEE-10570 en todas las versiones de Magento desde 1.6.0.0 y todo funciona. Pero solo si aplicó todos los parches anteriores. Aquí puede buscar qué parches son necesarios: docs.google.com/spreadsheets/d/…
Jeroen Vermeulen - MageHost
4

1.7.0.0

PATCH_SUPEE-10570_CE_v1.7.0.0_v1-2018-02-23-06-37-58.sh Archivo de parcheapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php

El parche para 1.7.0.0 solo agrega una constante:

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';

Sin embargo, agrega el uso de dos constantes nuevas, especialmente esta:

+        if ($this->useValidateSessionPasswordTimestamp()
+            && isset($validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP])
+            && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
+            && $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]
+            > $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime()
+        ) {
+            return false;
+        }

Esto da como resultado el error:

PHP Fatal error:  Uncaught Error: Undefined class constant 'VALIDATOR_SESSION_EXPIRE_TIMESTAMP' in 
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php:406
Stack trace:
#0 
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php(358): Mage_Core_Model_Session_Abstract_Varien->_validate()
#1 
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php(176): Mage_Core_Model_Session_Abstract_Varien->validate()
#2 
app/code/core/Mage/Core/Model/Session/Abstract.php(84): Mage_Core_Model_Session_Abstract_Varien->init('core', 'frontend')
#3 
app/code/core/Mage/Core/Model/Session.php(42): Mage_Core_Model_Session_Abstract->init('core', 'frontend')
#4 
app/code/core/Mage/Core/Model/Config.php(1354): Mage_Core_Model_Session->__construct(Array)

La solución:

Agregue una definición para esta segunda constante arriba o abajo de la primera constante agregada por este parche.

const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';

Hasta ahora no he visto este problema en ninguno de los 1.9. o parches 1.14.x, porque definen la constante correctamente.

Tyler V.
fuente
Esto se parchó agregando const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';a la parte superior del archivo, como se hace en la mayoría de las otras versiones de este parche.
Tyler V.
Sí, parece ser específico del parche
1.7.0.0
Tyler, ¿puede agregar la solución a su respuesta real en lugar de la sección de comentarios?
Danmentzer
1
También me gustaría señalar que esto también afecta a los parches para la versión EE del parche, así como EE 1.12.0.0
danmentzer
3

Lo primero que debe verificar, si se le aplicó previamente la versión correcta de SUPEE-6788 o SUPEE-7405, si no revierte la versión incorrecta y luego aplique la versión correcta de SUPEE-6788 / SUPEE-7405.

Luego intente nuevamente aplicar SUPEE-10570.

Vio
fuente
2

Los siguientes archivos se actualizan / agregan después de aplicar el parche SUPEE - 10570 en EE

@DarkCowboy proporcionó una lista de archivos distintos de los archivos EE :

    app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Hierarchy/Edit/Form.php
    app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Hierarchy/Widget/Chooser.php
    app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Page/Edit/Tab/Hierarchy.php
    app/code/core/Enterprise/Cms/Block/Hierarchy/Menu.php
    app/code/core/Enterprise/Customer/Block/Adminhtml/Customer/Attribute/Edit/Tab/Main.php
    app/code/core/Enterprise/GiftRegistry/Model/Observer.php
    app/code/core/Enterprise/Reward/Block/Adminhtml/Customer/Edit/Tab/Reward/Management/Update.php
    app/code/core/Enterprise/Rma/Model/Shipping/Info.php
    app/code/core/Enterprise/Staging/Block/Adminhtml/Backup/Grid.php
    app/code/core/Enterprise/Staging/Block/Adminhtml/Staging/Grid.php
 app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/edit.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/scope/switcher.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/widget/radio.phtml
    app/design/adminhtml/default/default/template/enterprise/cms/page/preview/store.phtml
    app/design/adminhtml/default/default/template/enterprise/customer/website/switcher.phtml
    app/design/adminhtml/default/default/template/enterprise/invitation/view/tab/general.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/log/information/create.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/staging/edit/tabs/website.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/staging/edit/tabs/website/store.phtml
    app/design/adminhtml/default/default/template/enterprise/staging/staging/merge/settings/website.phtml
    app/design/adminhtml/default/default/template/enterprise/store/switcher.phtml
    app/design/adminhtml/default/default/template/enterprise/store/switcher/enhanced.phtml
    app/design/adminhtml/default/default/template/merchandiser/new/page/html/top-buttons.phtml
    app/design/frontend/enterprise/default/template/cms/hierarchy/pagination.phtml

Algunas notas importantes

password_created_at creado en la tabla de atributos del cliente.

app/code/core/Mage/Adminhtml/controllers/CustomerController.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
app/code/core/Mage/Customer/sql/customer_setup/upgrade-1.6.2.0.5.1.1-1.6.2.0.5.1.2.php

Estos archivos anteriores se utilizan para la creación y validación. el problema de la sesión se produce al finalizar la compra o la verificación de inicio de sesión del usuario, cualquiera de los archivos anteriores se sobrescribe en su grupo local o Cualquier password_created_atatributo se crea en su tabla de atributos del cliente y el valor adecuado se almacena en esa tabla.

Rama Chandran M
fuente
No pude encontrar password_created_at en la base de datos CE donde también se da el problema.
TonkBerlin
consulte este archivo app / code / core / Mage / Customer / sql / customer_setup / upgrade-1.6.2.0.5.1.1-1.6.2.0.5.1.2.php
Rama Chandran M
2

Mi versión magento es ver. 1.9.1.0.

Vimos una página en blanco en / checkout / cart después de aplicar SUPEE-10570 y compilar. Solo para aclarar: con el compilador desactivado, todo salió bien, con el compilador activado solo pudimos ver una página de carrito en blanco cuando iniciamos sesión sin ninguna entrada de registro (incluso después de activar todos los registros posibles y el modo de desarrollador).

Porque:

  1. la función getPasswordTimestamp invocará dos veces cuando inicie sesión y visite / checkout / cart.

  2. desactivado el compilador tanto en el trabajo de invocación.

  3. habilitar el compilador solo el primer trabajo de invocación, la segunda invocación falló.

¿Alguien puede explicar y dar la buena solución?

jun
fuente
2

Un problema con 1.7.0.2 que he notado es el siguiente:

  1. Agregue el producto al carrito y vaya a pagar

  2. Haga clic en "Registrarse"

  3. Complete toda la información necesaria del pedido, incluidos los detalles de pago, etc.
  4. Haz clic en Completar pedido.

EL PROBLEMA COMIENZA AQUÍ

5. Se redirige automáticamente a la PÁGINA DE INICIO. No puede ver la confirmación del número de pedido. Pero en realidad, se realiza un pedido y se crea una cuenta de cliente.

Icono
fuente
¿Has encontrado alguna solución para esto? Estoy enfrentando el mismo problema.
Parth Thummar
1
V2 del parche está fuera, problema resuelto
Icono
2

Me encontré con el mismo problema, Magento 1.9.3.8 agregó este método en la clase Mage_Customer_Helper_Data

/**
 * Get customer password creation timestamp or customer account creation timestamp
 *
 * @param $customerId
 * @return int
 */
public function getPasswordTimestamp($customerId)
{
    /** @var $customer Mage_Customer_Model_Customer */
    $customer = Mage::getModel('customer/customer')
        ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
        ->load((int)$customerId);
    $passwordCreatedAt = $customer->getPasswordCreatedAt();

    return is_null($passwordCreatedAt) ? $customer->getCreatedAtTimestamp() : $passwordCreatedAt;
}

Si anula esta clase dentro de la carpeta Local (no es la mejor práctica), es posible que esta clase genere errores.

phanvugiap
fuente
2

Este parche ha roto parte del administrador de jerarquía de CMS para usuarios de EE.

Esto se debe a la siguiente línea de parche que es responsable de escapar de las tiendas / nombres de sitios web y arreglar APPSEC-1873/1979/1980.

diff --git app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
index e45298c..8bee617 100644
--- app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
+++ app/design/adminhtml/default/default/template/enterprise/cms/hierarchy/manage.phtml
@@ -36,7 +36,7 @@
             <div class="cms-popup-description"></div>
             <div class="fieldset">
                 <div class="cms-hierarchy manage-form">
-                    <?php echo $this->getFormHtml() ?>
+                    <?php echo $this->escapeHtml($this->getFormHtml()); ?>
                 </div>
             </div>
         </div>

Debería mostrar el selector de tienda a la izquierda, pero en su lugar, muestra el html a la derecha. Si realmente necesita esta funcionalidad, debe hacer una llamada de seguridad frente a la funcionalidad que no es excelente.

mostrar jerarquía rota

Luke Rodgers
fuente
0

El mismo error exacto que Tyler, en Magento 1.9.2.4 Patch PATCH_SUPEE-10570_CE_v1.9.2.4_v1-2018-02-28-04-53-53.sh

checking file lib/Zend/Mail/Transport/Sendmail.php
Hunk #1 FAILED at 119.
Hunk #2 FAILED at 129.
2 out of 2 hunks FAILED
Roy Toledo
fuente
compruebe que haya instalado el parche anterior. parche 9767 particular
Rama Chandran M
Realicé una comprobación en www.magereport.com y confirmó que todos los parches también estaban instalados.
Roy Toledo
Comprobaré y proporcionaré respuestas
Rama Chandran M
1
@royToledo Asegúrese de haber aplicado el parche SUPEE-9652 también
Tyler V.
0

Si tiene alguna herramienta de detección de parches, probablemente necesite modificar la detección de SUPEE-9562 porque SUPEE-10570modifica el mismo archivo:

lib/Zend/Mail/Transport/Sendmail.php
OZZIE
fuente
0

El parche fue cambiado por Magento en silencio. Aquí se muestra con el parche para Magento 1.8.1.0-1.9.0.1. En la primera descarga obtuve el archivo

PATCH_SUPEE-10570_CE_v1.9.0.1_v1-2018-02-23-06-18-06.sh

Unos días después recibí el siguiente archivo

PATCH_SUPEE-10570_CE_v1.9.0.1_v1-2018-02-28-04-54-29.sh

Diff muestra que el archivo anterior contiene archivos de Magento Enterprise Edition que contienen la licencia incorrecta "Acuerdo de licencia de usuario final de Magento Enterprise Edition". Esto se ha corregido a "Open Software License (OSL 3.0)".

fheyer
fuente
0

Puede obtener el siguiente error

Hunk #3 FAILED at 17 despues de la linea

checking file app/code/core/Enterprise/Cms/Block/Adminhtml/Cms/Page/Edit/Tab/Hierarchy.php

Me sucedió en la versión Magento 1.10.0.2EE. Sucedió porque el parche SUPEE-6285 no se aplicó.

Mukesh
fuente