Un nouveau correctif de sécurité est disponible pour Magento 1, corrigeant 25 problèmes APPSEC
https://magento.com/security/patches/supee-10752
Quels problèmes courants devez-vous surveiller lors de l'application de ce correctif?
SUPEE-10752, Magento Commerce 1.14.3.9 et Open Source 1.9.3.9 contiennent plusieurs améliorations de sécurité qui aident à fermer l'exécution de code à distance de l'utilisateur Admin authentifié (RCE), la falsification de demande intersite (CSRF) et d'autres vulnérabilités.
Des informations sur toutes les modifications apportées aux versions 1.14.3.9 et 1.9.3.9 sont disponibles dans les notes de version de Magento Commerce et Magento Open Source.
Des correctifs et des mises à niveau sont disponibles pour les versions suivantes de Magento:
Magento Commerce 1.9.0.0-1.14.3.9: SUPEE-10752 ou mise à niveau vers Magento Commerce 1.14.3.9.
Magento Open Source 1.5.0.0-1.9.3.9: SUPEE-10752 ou mise à niveau vers Magento Open Source 1.9.3.9.
la source
Réponses:
Comme mentionné par les documents officiels de Magento :
Les conflits lors de l'installation du correctif SUPEE-10752 sont le plus souvent causés par l' installation de la version 1 du correctif précédent ( SUPEE-10570v1 ).
Veuillez vous assurer de retirer SUPEE-10570v1 et d'installer SUPEE-10570v2 avant d'installer le nouveau SUPEE-10752.
la source
Les fichiers ci-dessous sont modifiés / créés après l'application du patch
Pour EE Edition, les fichiers ci-dessous sont ajoutés autres que CE
N'importe qui remplace le fichier onepage.php, veuillez mettre à jour le fichier.
Pour la validation de la clé ajoutée, veuillez vérifier que votre formulaire de panier contient une clé de formulaire
cron.php: poignée d'exception dans le fichier cron.php
GD2: retourne le type MIME réel.
Si vous utilisez nginx au lieu d'Apache, assurez-vous de mettre à jour votre configuration pour dupliquer cette modification.
Les nouveaux fichiers ajoutés / mis à jour sont les suivants:
Fichiers Escapehtml:
Fichiers frontaux de produits téléchargeables: toute personne utilisant un produit téléchargeable doit mettre à jour les fichiers dans vos fichiers de thème.
Vérifier le code
Remplacer par
Vérifier le code
Remplacer par
Vérifier le code
Remplacer par
Vérifier le code
Remplacer par
Remplacer par
Remplacer par
Vérifier le code
Remplacer par
Vérifier le code
Remplacer par
Autres fichiers Escapehtml:
la source
La modification de la
filter
méthode surchargée dansZend_Filter_PregReplace
est naïve et suppose qu'il$this->_matchPattern
s'agit toujours d'une chaîne. Cette propriété est ensuite fournie comme premier argument depreg_replace
. En réalité, un tableau est également un argument parfaitement valable. Ce fait est en fait utilisé par plusieursZend_Filter
classes de base (telles queZend_Filter_Word_SeparatorToCamelCase
). Ainsi, toute extension / branche de code qui utilise ce filtre ou l'un de ses dérivés, avec un argument tableau pour_matchPattern
, commencera à être lancéeWarning: substr() expects parameter 1 to be a string, array given
.Un exemple grossier de ce qu'il devrait probablement faire serait quelque chose comme:
Bien que je n'aie pas encore fait de test approfondi.
EDIT: Il convient de noter que, bien que la solution proposée ci-dessus devrait éviter les erreurs, la mise en œuvre est toujours techniquement un peu naïve et sujette aux faux positifs. Il suppose que le délimiteur d'expression régulière séparant le modèle des modificateurs est le même que celui au début de la chaîne. Techniquement, cela ne doit pas être le cas puisque PHP prend en charge différents délimiteurs de style de support. Par conséquent, l'entrée valide
{hello}is
déterminera les modificateurshello}is
(plutôt que les modificateurs réels deis
) et lèvera donc une exception, même si le modèle n'inclut pas réellement lee
modificateur.la source
1.7.0.2 Problème de version: après avoir installé le correctif et passé à la vérification d'une page (vérification générique de Magento), obtenez cette erreur
Erreur d'analyse: erreur de syntaxe, inattendue
Inverser le patch, l'erreur disparaît.
En approfondissant cette question, j'ai découvert que le correctif a ajouté la ligne suivante au fichier onepage.php.
SOLUTION: Merci à @FabianSchmengler
MISE À JOUR DE PHP version 5.4 et plus!
la source
problème connu :-
Si votre code ou extension personnalisé utilise
Zend/Filter/PregReplace.ph
p avec le modificateur e, il renverra désormais une erreur en raison de possibles problèmes RCE.Ce correctif suit la sécurité ci-dessous.
+++ app/code/core/Mage/Admin/Model/User.php
puis
class Mage_Admin_Model_User
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Composite/Fieldset/Options.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php
app/code/core/Mage/Catalog/Model/Product.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Datetime.php
app/design/frontend/base/default/template/downloadable/catalog/product/links.phtml
app/design/frontend/base/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/base/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/design/frontend/default/iphone/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Mage_Adminhtml_Model_LayoutUpdate_Validator
Mage_Adminhtml_Model_LayoutUpdate_Validator
app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php
app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController
app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php
lib/Varien/Image/Adapter/Gd2.php
app/code/core/Mage/Checkout/Model/Api/Resource/Customer.php
app/code/core/Mage/Checkout/Model/Type/Onepage.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
Mage_Customer_AccountController
''
app/code/core/Mage/Log/Model/Visitor.php
app/code/core/Mage/Usa/Helper/Data.php
Fichiers AJOUTÉS pour UPS
Ajout du paramètre pour ce nouveau functoinlaity
app/code/core/Mage/Usa/etc/system.xml
843 ligne
886
app/design/adminhtml/default/default/template/system/shipping/ups.phtml
1> 1) Validation du produit Bundle
app/design/adminhtml/default/default/template/bundle/product/edit/bundle/option.phtml
la source
On dirait qu'une partie du patch est htmlEscaping all "getLinksTitle ()". Mais ils ont oublié les fichiers suivants (ceci est basé sur 1.8.1).
la source
Le patch ne fonctionne pas sur vanilla Magento CE 1.8.0.0
Mise à jour: solution ajoutée ci-dessous.
Problème:
Patches précédents appliqués:
Solution
Corrigé en modifiant le fichier de patch. Remplacé le patch
downloadable.phtml
par celui du patch carv1.7.0.2
dans le fichier de patch d'origine ce sont les lignes 1854-1862.Cela est principalement dû à l'indentation dans le fichier. Comme les changements pour
downloadable.phtml
enV1.7.0.2
ont plus indenté.Solution 2
J'ai eu un problème similaire, mais j'ai pu le résoudre en réenregistrant le fichier d'origine dans un éditeur qui a forcé la fin de ligne à être des LF de style Unix, pas des CRLF de style Windows ou des Mac CR.
la source
En référence à Matt Antley, peut-être qu'ils n'ont pas inclus SUPEE-10570v2 à cause de cela
Pour autant que je sache, le bug de paiement n'était pas très courant et ils ont donc décidé de rester avec SUPEE-10570 qui protège contre les deux problèmes de sécurité à faible risque?!
la source
SUPEE-10570v2
ils devront la réappliquer.SUPEE-10752
et en sautant un peu le pistolet. Encore une fois, merci pour les commentaires!Le patch ne fonctionne pas sur vanilla Magento CE 1.6.0.0
Mise à jour: solution ajoutée ci-dessous.
Problèmes:
Patches précédents appliqués:
Résolu
J'ai résolu ce problème en modifiant le fichier correctif. J'ai remplacé les mecs qui causaient les problèmes par ceux du patch pour v1.5.1.0. Dans le fichier de patch d'origine, ce sont les lignes 167-177 et 663-670.
la source
Dans EE v1.14.2.4 après avoir appliqué SUPEE-10752, j'ai dû également appliquer le correctif suivant pour résoudre le problème de redirection de la caisse vers la page d'accueil au lieu de la page de réussite:
Fichier: invalid_session_fix-2018-03-14-05-10-19.patch
Le correctif ci-dessus se trouve dans https://magento.com/tech-resources/download sous SUPEE-10570 > invalid_session_fix.patch (0 Mo)
la source
J'ai rencontré un problème après ce patch. Je ne peux pas définir "Méthode gratuite" pour "Type UPS" "United Parcel Service XML". Magento génère une erreur lorsqu'une méthode est sélectionnée dans la liste déroulante "Méthode gratuite". Erreur: " Champ" Ups Free Method "a une valeur incorrecte. "
Est-ce que quelqu'un a fait face au même problème et a obtenu la solution?
Merci d'avance!
la source
Sur 1.6, le correctif ups.phtml est cassé. Il fait référence à $ storedOriginShipment, $ storedFreeShipment qui ont une faute de frappe en 1.6 ($ stroredOriginShipment et $ stroredFreeShipment). De plus, il fait référence à $ storedUpsType qui n'existe pas du tout en 1.6.
la source
Nous avons rencontré un problème sur 1.9.1.0 et 1.9.2.4 (nous n'avons pas testé sur d'autres). Il n'apparaît pas sur tous nos projets, mais il s'est répété sur plusieurs d'entre eux. Nous pensons que cela pourrait affecter les projets sur lesquels SUPEE-10570v1 a été installé à un moment donné.
Après avoir appliqué le correctif, si un utilisateur se connecte, il verra sa page de compte parfaitement bien. Cependant, s'ils essaient de revenir à n'importe quelle autre page du site, la page cessera de répondre et ils verront soit un écran vide soit une 502 Bad Gateway. Cela est dû au fait que PHP entre dans une boucle infinie et soit segfaulting ou être arrêté par ses paramètres .ini.
J'ai réussi à creuser que le problème est une récursion infinie sur la ligne qui charge le
$customer
dans\app\code\core\Mage\Customer\Helper\Data.php
,getPasswordTimestamp()
.Lorsque vous regardez la trace de la pile de la récursion infinie, il continue de boucler en boucle encore et encore. D'une manière ou d'une autre, il semble que
->load()
lesgetPasswordTimestamp()
méthode .La solution de contournement donnée dans /magento//a/235984/67252 fonctionne bien, mais je voudrais savoir ce qui se passe.
la source
Après avoir appliqué le patch SUPEE 10752, l'inscription et le paiement prennent la page de succès à la page d'accueil. Aucune suggestion?
la source
Nous avons vu une page vierge à / checkout / * après avoir appliqué SUPEE-10752 et compilé
version: 1.9.1.0
Conditions de déclenchement: application de SUPEE-10752 + activation du compilateur + connexion en tant que client, puis visite / paiement / *
Juste pour clarifier: avec le compilateur désactivé, tout s'est bien passé, avec le compilateur activé, nous ne pouvions voir une page de panier vide que lorsque vous vous connectiez sans aucune entrée de journal (même après avoir activé tous les journaux possibles et le mode développeur).
la source