| Module | PrestaShop (cœur) : cache Smarty MySQL |
|---|---|
| Nom technique | prestashop-core |
| Éditeur | PrestaShop |
| Identifiant | CVE-2022-31181 |
| Score CVSS | 9.8 / 10 |
| Type | Injection SQL chaînée à une exécution de code |
| Versions touchées | >= 1.6.0.10 et < 1.7.8.7 |
| Version corrigée | 1.7.8.7 |
| Publication de l'avis | 25 juillet 2022 |
Attention
À défaut de mise à jour immédiate, désactiver le cache Smarty MySQL. Le numéro CVE-2022-36408 parfois cité est un doublon rejeté de celui-ci.
Ce que la faille permet
Selon l'avis et l'annonce de PrestaShop, une injection SQL existante (souvent dans un module) pouvait être combinée à la fonction de cache Smarty stocké en base de données pour exécuter du code sur le serveur, même si ce cache était désactivé.
En juillet 2022, des boutiques ont été attaquées de cette façon : un faux formulaire de paiement était ajouté à la page de commande pour voler les cartes des clients.
Les traces à chercher
- Un fichier PHP inconnu apparu à la racine de la boutique
- Un formulaire de paiement différent de celui de votre prestataire
- L'absence de traces ne prouve pas que la boutique est saine
Le correctif
Mettre à jour PrestaShop en 1.7.8.7 ou supérieure. PrestaShop recommandait aussi de tout mettre à jour et de faire auditer les fichiers de la boutique. L'avis conseille en outre une politique de sécurité du contenu (CSP) limitant les domaines externes autorisés.
Chronologie
- Juillet 2022 : attaques constatées
- 22/07/2022 : annonce de PrestaShop
- 25/07/2022 : sortie de la version 1.7.8.7
Suis-je concerné ?
Étape 1
Relever votre version de PrestaShop
Dans le back-office, en bas de page ou dans Paramètres avancés > Informations. Toute version de la plage touchée est concernée.
Étape 2
Vérifier le cache Smarty
Dans Paramètres avancés > Performances, regardez si le cache Smarty est stocké en base de données (MySQL).
● Test gratuit · 10 secondes
Votre boutique montre-t-elle des signes d'infection ?
Le scan ne peut pas savoir si ce module est installé chez vous, mais il repère ce que ce type de faille sert à implanter : script de vol de carte, code caché, redirection. Réponse en 10 secondes, gratuit, sans inscription.
Scan passif de votre page d'accueil, comme un visiteur. Sans inscription. Scannez uniquement un site dont vous êtes responsable.
Que faire
Étape 1
Mettre à jour
Installer la version 1.7.8.7 ou supérieure, depuis la source officielle de l'éditeur.
Étape 2
Partir du principe que la boutique a pu être touchée
La faille est exploitée activement : une mise à jour ne retire pas un skimmer déjà installé. Faites vérifier les fichiers du cœur, les modules, la base de données et la page de paiement.
Étape 3
Chercher des traces dans les journaux
Recherchez dans les journaux d'accès des requêtes vers modules/ et des requêtes POST inhabituelles, en gardant en tête que les journaux des hébergeurs ne remontent souvent qu'à quelques semaines.
Étape 4
Changer les accès
Mots de passe de l'administration et de la base de données, surtout si la faille permet de lire la base.
Pourquoi c'est urgent
Les failles exploitées activement sont scannées automatiquement par des robots sur des milliers de boutiques. Une boutique vulnérable n'est pas « peut-être » visée : elle le sera.
Sur PrestaShop, l'objectif le plus fréquent est l'installation d'un skimmer qui vole les cartes bancaires de vos clients, avec les obligations qui en découlent (notification à la CNIL, information de la banque).
Source
Avis de sécurité Friends Of Presta : security.friendsofpresta.org/core/2022/07/25/core-CVE-2022-31181.html. Données vérifiées le 24 septembre 2026 ; reportez-vous à l'avis pour les détails techniques.