Voici la liste des fichiers modifiés par le correctif 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
MODIFIER
Enfin, après le déploiement sur mon site Web prod (CE 1.7.0.2), j’ai remarqué un problème critique de blocage (processus de commande bloqué).
Le contexte:
après l’étape 1 de l’adresse, je crée directement ET connecte le client, il ne devrait voir que la prochaine étape de paiement.
Le problème:
après supee-10570, le processus de commande est interrompu après l'étape 1 (en cas de création de compte) et le client est redirigé vers la page d'accueil (avec un panier vide + déconnecté) = impossible de réaliser sa commande.
Le correctif d’urgence:
si vous rencontrez un problème similaire avec votre commande / session client, commentez les lignes 414 à 430 de app / code / core / Mage / Core / Modèle / Session / Abstract / Varien.php (celles ajoutées par le patch , voir ci-dessous).
// 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];
// }
EDIT (2)
Je pense que la condition suivante retournera toujours false (Mage_Core_Model_Session_Abstract_Varien aux lignes 414 à 419, en particulier les lignes 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 sera toujours supérieur à VALIDATOR_SESSION_EXPIRE_TIMESTAMP. L'horodatage de session "expiration" est redéfini lors de la création du compte, donc inévitablement plus ancien que la session init.
Ainsi, par exemple, si vous créez le client lors du paiement, le résultat sera false et le client sera simplement expulsé (= terminer le paiement, rediriger vers la page d'accueil et le panier vide). Plutot mauvais.
J'ai signalé ce problème à l'équipe de magento. Je vais donner des commentaires ici dès que possible.
EDIT (3)
Un nouveau correctif est wip (sur la page de téléchargement du correctif magento, il est écrit "SUPEE-10570 pour CE 1.7.0.0 - MISE À JOUR DU PATCH ATTENDUE, NE PAS UTILISER (0,06 Mo)").
EDIT (4) ~ 1 mois après le signalement du problème de blocage initial
Salut! J'espère que vous êtes tous des biens (et espérons que vous n'avez pas conservé l'état initial du patch jusqu'à présent, à moins que vos revenus commerciaux n'aient probablement sérieusement diminué ^^).
J'ai remarqué la phrase suivante de la page officielle: "Magento fournit maintenant un correctif mis à jour (SUPEE-10570v2) qui ne provoque plus ce problème. Notez cependant que ce nouveau correctif ne protège plus contre deux problèmes liés au traitement de la session problèmes de sécurité contre lesquels le correctif SUPEE-10570 est protégé. " de la page officielle supee-10570.
Sur la page de publication, nous pouvons enfin trouver le fichier v2 (PATCH_SUPEE-10570_CE_v1.7.0.2_v2-2018-03-29-08-52-37.sh).
J'ai étudié les modifications dans les détails. Enfin, il semble que l’équipe de magento a décidé de supprimer une partie du correctif liée à la sécurité. Espérons que cette faille de sécurité ne causera pas de dommages graves (sa note critique est basse).
Après avoir restauré la v1 + appliquer la v2, veillez à ce que les fichiers suivants soient rétablis dans leur état initial (avant l'application de la 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: évidemment, d’autres fichiers sont également modifiés, veuillez vérifier en conséquence.