🔍 Contexte
Publié le 14 avril 2026 par la Sansec Forensics Team sur sansec.io, ce rapport de recherche documente une mauvaise configuration critique affectant plus de 200 boutiques PrestaShop en production réparties dans 27 pays, dont la France, l’Italie, la Pologne et la République tchèque représentent la majorité des cas.
⚠️ Mécanisme d’attaque
PrestaShop est livré avec un répertoire d’installation (/install/ en version release, /install-dev/ en version développement) contenant un assistant d’installation complet. Lorsque ce répertoire reste accessible publiquement, un attaquant peut :
- Accéder à l’installateur sans aucune authentification
- Forcer l’étape de génération de configuration via le paramètre
?step=process, contournant la progression normale des étapes - Injecter des credentials MySQL arbitraires via les paramètres
dbServer,dbName,dbLogin,dbPasswordpour pointer la boutique vers une base de données contrôlée par l’attaquant - Créer un nouveau compte administrateur via l’installateur
- Exploiter l’accès admin pour exécuter du code arbitraire : le module installer de PrestaShop appelle
eval()sur les fichiers d’override lors de l’upload de modules, permettant l’installation d’un webshell - Restaurer la configuration de base de données originale après compromission pour accéder à toutes les données clients
Le fichier clé impliqué est install-dev/controllers/http/process.php, qui écrit app/config/parameters.php avec les credentials fournis.
🛡️ Contournement de la protection existante
PrestaShop affiche un avertissement sur la page de connexion admin si /install/ existe, remplaçant le formulaire de connexion. Cependant :
- Cette vérification ne couvre pas
/install-dev/ - Même lorsqu’elle se déclenche, l’authentification elle-même reste fonctionnelle sans le formulaire affiché
🔓 Exposition du Symfony Profiler
15 boutiques supplémentaires exposent le Symfony Profiler (activé en mode debug), accessible sous le chemin admin (/admin-dev/_profiler/ en développement, /admin[random]/_profiler/ en production). Ce profiler expose :
- Les cookies de session en clair de chaque requête enregistrée
- Les credentials de base de données
- Les secrets applicatifs et routes internes
📋 Périmètre impacté
Parmi les boutiques affectées figurent un retailer de mode valorisé à plusieurs milliards de dollars, deux librairies universitaires françaises, et une chaîne de distribution pan-européenne présente dans cinq pays.
📌 Type d’article
Il s’agit d’une publication de recherche par Sansec, documentant une mauvaise configuration critique à grande échelle sur des instances PrestaShop en production, avec description technique détaillée du vecteur d’attaque.
🧠 TTPs et IOCs détectés
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1078 — Valid Accounts (Defense Evasion)
- T1505.003 — Server Software Component: Web Shell (Persistence)
- T1059 — Command and Scripting Interpreter (Execution)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1565.001 — Data Manipulation: Stored Data Manipulation (Impact)
IOC
- Emails :
security-core@prestashop.com - Chemins :
/install/ - Chemins :
/install-dev/ - Chemins :
/install-dev/controllers/http/process.php - Chemins :
app/config/parameters.php - Chemins :
/admin-dev/_profiler/ - Chemins :
config/defines.inc.php
Malware / Outils
- webshell (backdoor)
🟡 Indice de vérification factuelle : 50/100 (moyenne)
- ⬜ sansec.io — source non référencée (0pts)
- ✅ 4456 chars — texte complet (fulltext extrait) (15pts)
- ✅ 7 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 6 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://sansec.io/research/prestashop-installer-takeover