Une faille de sécurité majeure a été détectée et confirmée par l’équipe de PrestaShop. Cette faille de type injection SQL est activement exploitée : il est impératif de mettre rapidement à jour votre boutique pour éviter le piratage, avec des paiements de vos clients détournés vers des pages de phishing.
Une faille majeure sur PrestaShop
Toutes les boutiques de la version 1.6.0.10 à la 1.7.8.2 sont vulnérables. Les versions 1.7.8.2 et supérieures peuvent l’être aussi si un module ou un thème introduit du code vulnérable à l’injection SQL : c’est par exemple le cas du module officiel Wishlist (blockwishlist) dans ses versions 2.0.0 à 2.1.0.
Comment se protéger (temporairement) ?
L’équipe de maintenance propose un Quick Fix : supprimer un bout de code dans un fichier de configuration pour bloquer la chaîne d’injection SQL, en attendant un patch complet. La faille semble provenir du cache Smarty pour MySQL ; désactiver cette fonctionnalité règle le souci (constaté chez un client de chez Unlidot récemment infecté). Pensez aussi à mettre à jour tous vos modules et, si possible, le CMS.
La manipulation
Via un accès FTP (ou l’explorateur de fichiers de votre panel), ouvrez config/smarty.config.inc.php et retirez (ou commentez) le code suivant :
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';
}Ce code se situe entre les lignes 43-46 (versions 1.7.x) ou 40-43 (versions 1.6.x).
Comment savoir si vous êtes infecté ?
Le symptôme le plus évident : la perte d’accès au back-office (redirection en boucle vers le formulaire de connexion) et du contenu suspect. Souvent, le front-end fonctionne parfaitement et le problème se situe à l’étape du paiement : les pirates contournent vos moyens de paiement pour insérer le leur.
Le symptôme le plus grave est l’affichage d’un formulaire de paiement frauduleux (ressemblant parfois à PayPal) : les clients qui le complètent envoient leurs identifiants directement au pirate. Certaines traces dans vos logs d’accès peuvent aussi indiquer une infection.
Je suis infecté(e), que faire ?
- Vérifiez vos sauvegardes de fichiers (souvent automatiques chez Infomaniak, OVH, ou via votre prestataire technique).
- Sans sauvegarde, vous pouvez tenter de nettoyer vous-même en appliquant le quick-fix, mais faites-vous accompagner par un professionnel si vous n’êtes pas à l’aise, et faites valider le nettoyage par un audit de sécurité.
- Conformément à la loi, informez vos clients que la boutique a été impactée : ceux qui ont saisi leurs identifiants sur le faux formulaire doivent changer leur mot de passe (PayPal et tout compte réutilisant le même) au plus vite.
