Patch di sicurezza SUPEE-10570 - Possibili problemi?


45

Magento ha rilasciato una nuova patch di sicurezza per M1 e aggiornamenti per M1 e M2.

Quali problemi dovrei cercare durante l'aggiornamento o l'applicazione di questa patch?

SUPEE-10570

SUPEE-10570, Magento Commerce 1.14.3.8 e Open Source 1.9.3.8 contengono numerosi miglioramenti della sicurezza che aiutano a chiudere l'esecuzione di codice in modalità remota (RCE), gli script tra siti (XSS e altri problemi), tra cui anche piccole correzioni funzionali elencate nella note di rilascio.

MAGENTO 2.2.3, 2.1.12 E 2.0.18 AGGIORNAMENTO DELLA SICUREZZA

Magento Commerce e Open Source 2.2.3, 2.1.12 e 2.0.18 contengono numerosi miglioramenti della sicurezza che aiutano a chiudere Cross-Site Scripting (XSS), esecuzione di codice remoto utente Admin (RCE) autenticata e altre vulnerabilità. Le versioni includono correzioni funzionali aggiuntive. Per ulteriori informazioni sulle correzioni funzionali, consultare le Note di rilascio per Magento Commerce 2.0.18, 2.1.12, 2.2.3 e Magento Open Source 2.0.18, 2.1.12, 2.2.3.


1
Per Open Source / Community Edition 1.x non sembrano essere incluse modifiche al modello frontend , quindi questo non dovrebbe creare troppi problemi. Tuttavia, si consiglia vivamente di eseguire un backup del database in quanto vi sono due script di installazione (aggiornamento) inclusi in questa patch. Ulteriori dettagli potrebbero seguire dopo che ho patchato i primi ambienti.
Christoph Farnleitner,

1
Se hai negozi che utilizzano una griglia adminhtml personalizzata che include il nome del negozio, la patch ora sfugge presumibilmente per correggere alcuni exploit potenziali in base alla modifica del nome del negozio e del rendering.
Andrew Quackenbos,

Finora ho patchato 2 siti su 1.9.0.1 senza problemi.
asdfasdfasf,

1
Finora ho applicato la patch 1.9.3.0, 1.9.0.1 e 1.9.1.0 senza problemi
David,

2
Questo proviene dal blog sulla sicurezza: magento.com/security/patches/supee-10570 NOTA: alcuni clienti riscontrano problemi durante il checkout quando provano a creare un account durante il checkout. A breve sarà disponibile una patch di aggiornamento o una soluzione alternativa per risolvere questo problema. Se stai riscontrando questo problema in questo momento, considera di ripristinare la parte del codice che causa questo problema applicando la seguente patch: invalid_sesssion_fix.patch dagli Archivi di rilascio, sezione SUPEE-10570
The Tankgirl

Risposte:


29

Ecco l'elenco dei file modificati dalla patch 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

MODIFICARE

Alla fine, dopo la distribuzione sul mio sito Web (CE 1.7.0.2), ho notato un problema di blocco critico (processo di checkout bloccato).

Il contesto: dopo l'indirizzo del passaggio 1, creo direttamente e registro il cliente, dovrebbe vedere solo il passaggio successivo.

Il problema: dopo supee-10570, il processo di pagamento viene interrotto dopo il passaggio 1 (nel caso in cui sia stata creata l'account) e il cliente viene reindirizzato alla pagina iniziale (con carrello vuoto + disconnesso) = impossibile ottenere il pagamento.

La soluzione di emergenza: in caso di problemi simili con il checkout / la sessione del cliente, commentare le righe 414-430 da app / code / core / Mage / Core / Model / Session / Abstract / Varien.php (quelle aggiunte dalla patch , vedi sotto).

//         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];
//         }

MODIFICA (2)

Penso che la seguente condizione restituirà sempre false (Mage_Core_Model_Session_Abstract_Varien alle righe 414-419, in particolare le righe 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 sarà sempre maggiore di VALIDATOR_SESSION_EXPIRE_TIMESTAMP. Il timestamp di "scadenza" della sessione viene ridefinito al momento della creazione dell'account, quindi inevitabilmente più vecchio di init di sessione.

Ad esempio, se crei il cliente durante il checkout, questo restituirà false e il cliente verrà semplicemente espulso (= termina il checkout, reindirizza alla homepage e carrello vuoto). Piuttosto male.

Ho segnalato questo problema al team di Magento. Darò un feedback qui al più presto.


MODIFICA (3)

Viene cancellata una nuova patch (nella pagina di download della patch magento è scritto "SUPEE-10570 per CE 1.7.0.0 - PATCH AGGIORNATO PREVISTO, NON UTILIZZARE (0,06 MB)").


EDIT (4) ~ 1 mese dopo la segnalazione del problema di blocco iniziale

Ciao! Spero che tu sia tutto un bene (e spero che tu non abbia mantenuto lo stato iniziale della patch fino ad ora, a meno che il tuo reddito aziendale non fosse probabilmente diminuito seriamente ^^).

Ho notato la seguente frase dalla pagina ufficiale: "Magento ora fornisce una patch aggiornata (SUPEE-10570v2) che non causa più questo problema. Si noti, tuttavia, che questa nuova patch non protegge più da due sessioni a basso rischio legate alla gestione problemi di sicurezza contro i quali è stata protetta la patch SUPEE-10570. " dalla pagina ufficiale supee-10570.

Sulla pagina di rilascio possiamo finalmente trovare il file v2 (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh).

Ho studiato le modifiche in dettaglio. Finalmente sembra che il team di Magento abbia appena deciso di abbandonare una parte di sicurezza della patch. Spero che questo buco di sicurezza non provochi gravi danni (è basso critico secondo la nota ufficiale).

Dopo aver ripristinato v1 + applica v2, assicurarsi che i seguenti file siano ripristinati come stato iniziale (prima dell'applicazione di 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

PS: ovviamente anche alcuni altri file vengono modificati, si prega di controllare di conseguenza.


1
@Icon: ho appena segnalato questo errore a Magento. Pubblicherò la risposta non appena riceverò un feedback ufficiale.
DarkCowboy

4
@Icon / Soleil: purtroppo ancora nessuna risposta o correzione ufficiale riguardo alla mia richiesta di correzione.
DarkCowboy

1
@DarkCowboy Ho appena notato che una volta che vai alla pagina di download della patch, puoi vedere il team di Magento aggiungere una nota nella patch 1.7.0.0 e 1.7.0.2. Sembra che stia arrivando una nuova patch.
Icona

3
Ciao a tutti. Ho visto che è stata aggiunta una nuova patch ("PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-28-04-54-53.sh"). Puoi vedere la differenza qui (il riquadro di sinistra è la prima patch "PATCH_SUPEE-10570_CE_v1.7.0.2_v1-2018-02-23-06-28-18.sh"): diffchecker.com/uGON91aR . Quindi nessuna correzione sulla nuova patch ?! Inoltre, l'avviso "... PATCH AGGIORNATO PREVISTO, NON UTILIZZARE" è sparito. Quindi confondo un po 'cosa sta facendo il core team di magento con questo problema.
DarkCowboy,

1
Cordiali saluti, V2 della patch elenca ancora "SUPEE-10570_CE_v1.9.2.4 | CE_1.9.2.4 | v1" inapp/etc/applied.patches.list
Moose

9

(non sono sicuro se questo fosse nelle note di rilascio dall'inizio)

Problemi noti

Questi due problemi noti sono associati all'uso di tag HTML all'interno dell'attributo SKU di un prodotto:

  • Se si tenta di importare prodotti che contengono tag HTML nell'attributo SKU, Magento visualizza questo errore nella fase di convalida dei dati (ovvero, quando si fa clic su Verifica dati ):
 Invalid value in SKU column. HTML tags are not allowed.
  • Se si tenta di creare o modificare un prodotto nel Pannello di amministrazione e il valore dell'attributo SKU del prodotto contiene tag HTML, Magento genera questo errore quando si tenta di salvare il prodotto: HTML tags are not allowed in SKU attribute.

Dalle note sulla patch :

Se la patch non si applica durante l'applicazione di patch lib/Zend/Mail/Transport/Sendmail.php, potrebbe significare che l'installazione di Magento è stata precedentemente patchata con SUPEE-9652v1 invece di SUPEE-9652v2. La soluzione consigliata è di ripristinare la patch SUPEE-9652v1 e applicare SUPEE-9652v2 prima di applicare SUPEE-10570.


7

Ho avuto lo stesso problema di @DarkCowboy dopo aver applicato la patch a Magento CE 1.7.0.2.

Dopo aver scelto di registrarmi come nuovo cliente durante il checkout, effettuare l'ordine crea sia l'ordine che il cliente, ma invece di visualizzare la pagina di successo dell'ordine vengo reindirizzato alla homepage e disconnesso.

La soluzione che ho trovato è di invertire l'ordine dei blocchi di codice nelle modifiche a app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.

Confrontando la versione con patch con lo stesso file in Magento CE 1.9.3.8, ho trovato i nuovi blocchi per convalidare la scadenza della sessione e il timestamp della password sono in un ordine diverso.

Magento CE 1.9.3.8 - Linee 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 - Linee 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];
    }

Ciò si traduce nel valore di $validatorData[self::VALIDATOR_PASSWORD_CREATE_TIMESTAMP]essere maggiore di $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] - $this->getCookie()->getLifetime(), il che significa che il metodo restituisce sempre false e la convalida non riesce.

La modifica del codice in Magento CE 1.7.0.2 in modo che corrisponda alla versione in Magento CE 1.9.3.8 risolve il problema.

Il codice risultante per Magento CE 1.7.0.2 - Linee 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;
    }

Suggerirei di creare il tuo file patch e di applicarlo direttamente al file core (questo è il modo in cui normalmente approccio alla correzione dei bug nel core). Ciò semplificherebbe il ripristino se Magento pubblica una versione 2 della patch.


Ciao Dave Sembra che tu abbia riscontrato lo stesso problema di me. Per quanto riguarda la tua correzione, con la tua inversione la seconda condizione non verrà affatto testata ... Esaminerò questi dati di sessione.
DarkCowboy

4
Aggiornamento previsto per 1.7.0.2 a metà marzo. (v2 della patch), il problema è confermato.
Piotr Kaminski,

Qualcuno ha testato se questa soluzione mantiene effettivamente funzionante il controllo del timestamp di modifica della password o se riapre la falla di sicurezza che stavano cercando di correggere? Nota: se non ti interessa il vantaggio in termini di sicurezza, puoi semplicemente disabilitare il timestamp per la modifica della password controllando tutti insieme con la useValidateSessionPasswordTimestamp()restituzione false. (una riga cambia nello stesso file)
Eric Seastrand

Ciao. Abbiamo valutato che il problema "reindirizzamento con carrello vuoto" esiste ancora con l'ordine di convalida modificato. Abbiamo disattivato il controllo "useValidateSessionPasswordTimestamp" fino a quando magento non ha creato un aggiornamento.
Steven Fritzsche,

6

Abbiamo visto una pagina vuota in / checkout / cart dopo aver applicato SUPEE-10570 e compilato. Solo per chiarire: con il compilatore disattivato tutto è andato bene, con il compilatore attivato abbiamo potuto vedere solo una pagina del carrello vuota quando si è effettuato l'accesso senza alcuna voce di registro (anche dopo aver attivato tutti i registri possibili e la modalità sviluppatore).

La soluzione era modificare la funzione getPasswordTimestamp()in app/code/core/Mage/Customer/Helper/Data.php(ovviamente significa app/code/local/Mage/Customer/Helper/Data.php:!) E usare al Mage::getSingleton('core/resource')posto di Mage::getModel('customer/customer')o Mage::getSingleton('customer/session'). Quindi sostituisci l'intera funzione, ad esempio con queste righe di codice:

    $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;

Dopo la ricompilazione il problema era sparito. qualcun altro con questo problema?

Spiegazione in tedesco qui .


Questo è in molti modi diversi alcuni dei peggiori consigli e codici mai visti qui. Per favore, non fare nulla di tutto questo a casa.
pong

Esattamente lo stesso con me. Questa patch non funziona con il compilatore abilitato.
Rafael Patro,

In 1.9.3.9 funziona bene per me.
TonkBerlin,

4

1.7.0.0

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

Questo errore si verifica se non hai precedentemente applicato SUPEE-9652 o SUPEE-9767

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

Applica quelle patch per correggere il problema.


2
Assicurati di aver installato 9652 e 9767
Icona

In effetti, abbiamo testato SUPEE-10570 su tutte le versioni Magento vaniglia dalla 1.6.0.0 e tutto funziona. Ma solo se hai applicato tutte le patch precedenti. Qui puoi cercare quali patch sono richieste: 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 File patchapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php

La patch per 1.7.0.0 aggiunge solo una costante:

+    const VALIDATOR_PASSWORD_CREATE_TIMESTAMP   = 'password_create_timestamp';

Tuttavia, aggiunge l'uso di due nuove costanti, in particolare questa:

+        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;
+        }

Ciò provoca l'errore:

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 correzione:

Aggiungi una definizione per questa seconda costante sopra o sotto la prima costante aggiunta da questa patch.

const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';

Finora non ho visto questo problema in nessuno dei 1.9. o patch 1.14.x, perché definiscono correttamente la costante.


Questo è stato corretto aggiungendo const VALIDATOR_SESSION_EXPIRE_TIMESTAMP = 'session_expire_timestamp';all'inizio del file, come nella maggior parte delle altre versioni di questa patch.
Tyler V.

Yep sembra essere specifico della patch
1.7.0.0

Tyler può aggiungere la correzione alla tua risposta effettiva piuttosto che alla sezione commenti.
danmentzer

1
Vorrei solo notare che questo ha effetto anche sulle patch per la versione EE della patch e EE 1.12.0.0
danmentzer

3

La prima cosa da verificare, se in precedenza è stata applicata la versione corretta di SUPEE-6788 o SUPEE-7405, in caso contrario ripristinare la versione errata e quindi applicare la versione corretta di SUPEE-6788 / SUPEE-7405.

Quindi riprovare ad applicare SUPEE-10570.


2

I file seguenti vengono aggiornati / aggiunti dopo l'applicazione della patch SUPEE - 10570 in EE

@DarkCowboy ha fornito un elenco di file diversi da quelli 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

Alcune note importanti

password_created_at creato nella tabella degli attributi 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

Questi file sopra sono usati per la creazione e la validazione. il problema di sessione si verifica al checkout o al controllo di accesso dell'utente, i file sopra elencati vengono sovrascritti nel pool locale o Qualsiasi password_created_atattributo viene creato nella tabella degli attributi del cliente e il valore corretto memorizzato in tale tabella.


Non sono riuscito a trovare password_created_at nel database CE in cui è riportato anche il problema.
TonkBerlin,

controlla questo file 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

La mia versione di Magento è ver. 1.9.1.0.

Abbiamo visto una pagina vuota in / checkout / cart dopo aver applicato SUPEE-10570 e compilato. Solo per chiarire: con il compilatore disattivato tutto è andato bene, con il compilatore attivato abbiamo potuto vedere solo una pagina del carrello vuota quando si è effettuato l'accesso senza alcuna voce di registro (anche dopo aver attivato tutti i registri possibili e la modalità sviluppatore).

Causa:

  1. la funzione getPasswordTimestamp invocherà due momenti in cui il login e visitare / checkout / cart.

  2. compilatore disabilitato sia lavoro di invocazione.

  3. abilita il compilatore solo al primo lavoro di invocazione, secondo invocazione fallito.

qualcuno può spiegare e dare la buona soluzione?


2

Un problema con 1.7.0.2 che ho notato è il seguente:

  1. Aggiungi prodotto al carrello e vai alla cassa

  2. Fai clic su "Registrati"

  3. Inserisci tutte le informazioni necessarie sull'ordine, inclusi i dettagli di pagamento, ecc.
  4. Fai clic su Completa ordine.

IL PROBLEMA INIZIA QUI

5. Viene automaticamente reindirizzato alla HOME PAGE. Non puoi vedere la conferma del numero d'ordine. Ma in realtà, l'ordine viene effettuato e viene creato l'account cliente.


hai trovato una soluzione per questo? Sto affrontando lo stesso problema.
Parth Thummar,

1
V2 della patch non disponibile, problema risolto
Icona

2

Ho riscontrato lo stesso problema, Magento 1.9.3.8 ha aggiunto questo metodo alla classe 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;
}

Se si sovrascrive questa classe all'interno della cartella locale (non la procedura consigliata), potrebbero esserci errori generati da questa classe.


2

Questa patch ha interrotto parte del gestore della gerarchia CMS per gli utenti EE.

Ciò è dovuto alla seguente linea di patch che è responsabile della fuga dei nomi di negozi / siti Web e di riparazione di 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>

Dovrebbe mostrare il selettore del negozio a sinistra ma mostra invece l'html a destra. Se hai davvero bisogno di questa funzionalità, devi fare una chiamata di sicurezza contro funzionalità che non è eccezionale.

mostra gerarchia spezzata


0

Stesso errore esatto di Tyler, sulla patch Magento 1.9.2.4 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

controlla di aver installato la patch precedente. particolare patch 9767
Rama Chandran M

Ho eseguito un controllo su www.magereport.com e ha confermato che sono state installate anche tutte le patch. 9767.
Roy Toledo,

Controllerò e fornire ans
Rama Chandran M

1
@royToledo Assicurati di aver applicato anche la patch SUPEE-9652
Tyler V.

0

Se si dispone di alcuni strumenti di rilevamento delle patch, probabilmente è necessario modificare il rilevamento SUPEE-9562 perché SUPEE-10570modifica lo stesso file:

lib/Zend/Mail/Transport/Sendmail.php

0

La patch è stata cambiata silenziosamente da Magento. Qui mostrato con patch per Magento 1.8.1.0-1.9.0.1. Al primo download ho ottenuto il file

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

Qualche giorno dopo ho ricevuto il seguente file

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

Diff mostra che il file precedente contiene file di Magento Enterprise Edition che contengono la licenza errata "Accordo di licenza per l'utente finale di Magento Enterprise Edition". Questo è stato corretto in "Open Software License (OSL 3.0)".


0

È possibile che venga visualizzato il seguente errore

Hunk #3 FAILED at 17 dopo la linea

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

È successo per me sulla versione Magento 1.10.0.2EE. È successo perché la patch SUPEE-6285 non è stata applicata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.