Aller au contenu principal

Faille critique PrestaShop : des boutiques piratées via le cache Smarty

Le 22 juillet, l’équipe PrestaShop a publié une alerte de sécurité inhabituellement directe : des boutiques sont activement piratées. L’attaque combine une injection SQL et une fonction peu connue du moteur de gabarits, le stockage du cache Smarty en base de données.

Ce que font les attaquants

Une fois la faille exploitée, ils modifient les fichiers de la boutique pour afficher un faux formulaire de paiement. Le client saisit sa carte bancaire, les numéros partent chez les pirates, puis il est renvoyé vers le vrai paiement. Rien ne se voit côté marchand : les commandes passent, le chiffre d’affaires est normal. Ce sont les clients qui découvrent, des semaines plus tard, des débits frauduleux.

Qui est concerné

Les boutiques en version 1.6.0.10 ou supérieure, 1.7 comprise, sont exposées, surtout si elles utilisent un module vulnérable à l’injection SQL. La version 1.7.8.7 corrige la faille dans le cœur. Les boutiques en 1.6 ne recevront pas de version corrective complète.

Ce qu’il faut faire maintenant

  1. Mettre à jour vers 1.7.8.7 si la boutique est en 1.7.
  2. Sinon, désactiver le cache Smarty en base de données, en commentant les lignes concernées dans config/smarty.config.inc.php, comme l’indique l’alerte officielle.
  3. Mettre à jour tous les modules, en particulier ceux qui n’ont pas bougé depuis longtemps : c’est souvent par eux que l’injection SQL arrive.
  4. Vérifier l’intégrité des fichiers, notamment ceux du tunnel de commande, et chercher du code JavaScript ajouté.

Si vous pensez avoir été touché

Ne supprimez rien dans la précipitation : les fichiers modifiés et les journaux du serveur sont les seules traces de ce qui s’est passé. Isolez, sauvegardez l’état actuel, puis nettoyez. Selon les cas, une notification à la CNIL peut s’imposer dans les 72 heures, puisque des données bancaires de clients ont pu fuiter.

Questions fréquentes

Quelles versions de PrestaShop sont concernées par la faille de juillet 2022 ?

Les versions 1.6.0.10 et supérieures, y compris 1.7. La version 1.7.8.7 corrige la faille.

Comment protéger une boutique PrestaShop 1.6 ?

En désactivant le stockage du cache Smarty en base de données dans config/smarty.config.inc.php, et en mettant à jour les modules vulnérables.

Comment savoir si ma boutique a été piratée ?

En vérifiant l’intégrité des fichiers, notamment ceux du tunnel de commande, et en recherchant du code JavaScript inconnu. Les journaux du serveur aident à dater l’intrusion.

Sources

  1. PrestaShop, alerte de sécurité du 22 juillet 2022 build.prestashop-project.org
  2. NVD, CVE-2022-36408 nvd.nist.gov