Faille de sécurité sur les adresses des clients dans Prestashop (antérieure à 1.7.6.4): mise à jour obligatoire ou patch possible ?

Pour créer, rédiger et optimiser le SEO de vos pages web --> Contactez-nous


Dans les versions de Prestashop antérieures à la 1.7.6.4, une importante faille de sécurité a été découverte.

Elle est mentionnée sur https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5250 et assez explicite:

"In PrestaShop before version 1.7.6.4, when a customer edits their address, they can freely change the id_address in the form, and thus steal someone else's address. It is the same with CustomerForm, you are able to change the id_customer and change all information of all accounts. The problem is patched in version 1.7.6.4."

Aie !!!

Prestashop en parle sur son blog: https://build.prestashop.com/news/prestashop-1-7-6-4-maintenance-release/

et mentionne la fameuse "mise à jour en un clic" de Prestashop sauf que celle-ci ne fonctionne pas souvent .

Sauf que le bug n'est pas résolu avec le correctif validé par Prestashop (https://github.com/PrestaShop/PrestaShop/commit/a4a609b5064661f0b47ab5bc538e1a9cd3dd1069 )

Prestashop a intégré le correctif à toutes les versions sans voir le bug suivant : quand on édite une adresse, une nouvelle adresse est créée au lieu de modifier l'adresse (le correctif qui ne fonctionne pas : https://github.com/PrestaShop/PrestaShop/commit/a4a609b5064661f0b47ab5bc538e1a9cd3dd1069)

Des gens ont remonté le bug à Prestashop sur github :  https://github.com/PrestaShop/PrestaShop/issues/18100 , et logiquement, on a pensé au même truc que nous : checker que l'adresse appartient à l'utilisateur.
 

Que faire pour corriger ce problème de sécurité dans les Prestashop de versions antérieures à la 1.7.6.4 ?

Est-il obligatoire de mettre à jour Prestashop (et donc d'y passer du temps et de l'argent si vous avez déjà fait l'effort de migrer vers une version 1.7 ?)

Phase 1:
 
le bug critique https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5250 est corrigé par le correctif initial.
Les fichiers modifiés sont:
 

- classes/form/CustomerAddressForm.php
- classes/form/CustomerAddressFormatter.php
- classes/form/CustomerForm.php
- classes/form/CustomerFormatter.php  

 
=> La correction apportée par prestashop et intégrée à toutes les versions 1.7 n'est pas ok, elle génère un bug : les adresses modifiées sont dupliquées.  
 
Phase 2: développement d'un patch (ajout de 20 euros à la cotation initalite)
- on annule les modifs de prestashop
- on modifie dans la classe classes/form/CustomerAddressPersister.php et sa fonction authorizeChange. On modifie le check vérifiant que l'adresse appartient au client. Au lieu d'utiliser les ids adresses/clients qui sont en dur dans le formulaire, on checke que l'adresse modifiée appartient à l'utilisateur connecté. Il est impossible ainsi pour un utilisateur de modifier l'adresse d'un autre client en modifiant les champs cachés du formulaire d'adresse.

Cette modification qui permet de corriger la faille de sécurité ne coûtera (du moins chez nous) que quelques dizaines d'euros ht, ce qui est bien moins cher qu'une nouvelle mise à jour de Prestashop.

Ceci dit attention ! Prestashop 1.7.x a tellement de bugs que tôt ou tard, il faudra faire évoluer votre déjà vieux Prestashop 1.7.x

Rappel: si vous avez un Prestashop 1.6.x.. réfléchissez à passer à Prestashop 1.7 car la 1.6 n'est plus maintenue LEGALEMENT par Prestashop et dès qu'l y aura une faille de sécurité sérieuse, on voit mal comment les sociétés de paiement - dont les banques- et les logisticiens continueront d'accepter de fonctionner sur ces vieilles versions..  donc prévoyez une migration dès que possible .. 

Pour une cotation précise et rigoureuse d'une migration Prestashop, il faut connaître votre hébergement, la liste de vos modules -tous ne sont pas compatibles avec PS 1.7 et certains sont remplaçables-, savoir si le core a été modifié et bien spur la volumétrie de vos données.

Certains vendeurs de soupe promettent une migration à 200-500 euros ht. C'est quasiment impossible si votre site est important et il y a fort à parier que certaines données ne seront pas migrées (vérifiez alors les historiques de commandes).

N'oubliez pas non  plus le problème du template: les templates compatibles Prestashop 1.6 ne sont pas compatibles avec les versions 1.7 donc il faut partir du template de base et ENSUITE, voir ce qui doit être fait.

Enfin, règle de base, faites la migration sur un bac à sable (par exemple un sous-domaine) de manière à ne pas casser votre site et à passer en "live" uniquement quand tout est carré avec la 1.7

Si vous voulez une cotation pour une migration Prestashop , n'hésitez pas à nous contacter !

Commentaires sur: Faille de sécurité sur les adresses des clients dans Prestashop (antérieure à 1.7.6.4): mise à jour obligatoire ou patch possible ?

Poster un commentaire sur: Faille de sécurité sur les adresses des clients dans Prestashop (antérieure à 1.7.6.4): mise à jour obligatoire ou patch possible ?







« avis-de-deces.net et autres nécrophiles du web: pourquoi la justice ne fait-elle rien ? | Accueil | Profitez de la période d'arrêt causée par le Coronavirus pour mettre à jour vos sites internet, notamment en contenu »



Besoin de SEO, de développement, de rédaction de contenu web ? Besoin d'un blog, de Wordpress, de Prestashop ou autres nouvelles "choses web" ? Envie de travailler dans ces domaines ? --> Contactez-nous