
Actions immédiates pour sécuriser vos sites Craft CMS après les vulnérabilités récentes
Plusieurs vulnérabilités de sécurité critiques découvertes dans Craft CMS durant 2024-2025 sont activement exploitées, mettant des centaines de sites à risque. Si vous utilisez Craft CMS, vous devez agir immédiatement pour protéger votre site contre les attaques d'exécution de code à distance et l'accès non autorisé.
Notre équipe a travaillé avec des clients pour sécuriser leurs installations Craft CMS suite à ces découvertes. Ce guide fournit les étapes exactes que vous devez prendre maintenant, ainsi que les détails techniques et les méthodes de vérification pour assurer que votre site reste protégé.
Ces vulnérabilités ne sont pas théoriques. Les attaquants scannent activement les sites Craft CMS vulnérables et les exploitent pour le vol de données, le déploiement de pourriel et les attaques de rançongiciel. La bonne nouvelle est que protéger votre site est simple si vous savez quoi faire.
Comprendre le paysage actuel des menaces
Trois vulnérabilités majeures sont actuellement exploitées dans la nature :
CVE-2025-32432 permet l'exécution de code à distance via la fonction de transformation d'images de Craft. Les attaquants peuvent exécuter du code arbitraire sur votre serveur en envoyant des requêtes POST spécialement conçues vers `/actions/assets/generate-transform` avec des paramètres `__class` malveillants.
CVE-2025-23209 permet l'injection de code si un attaquant obtient la clé de sécurité de votre système. Cette vulnérabilité peut être enchaînée avec d'autres attaques pour obtenir un contrôle complet du serveur.
CVE-2024-58136 affecte le framework PHP Yii sous-jacent, permettant l'accès non autorisé à des ressources restreintes et potentiellement exposant des données sensibles.
Travailler avec des clients durant ces incidents montre que les sites utilisant des versions anciennes de Craft CMS sont particulièrement vulnérables. L'Agence de cybersécurité et de sécurité des infrastructures (CISA) a ajouté ces vulnérabilités à leur catalogue de vulnérabilités exploitées connues, indiquant une exploitation active.
Étape 1 : Mettre à jour Craft CMS et toutes les dépendances
C'est votre action prioritaire. Mettez à jour Craft CMS vers au moins la version 5.5.8 ou 4.13.8, selon votre version majeure. Ces versions contiennent des correctifs pour toutes les vulnérabilités connues.
Voici le processus exact que nous recommandons :
# Mettre à jour le noyau Craft CMS composer update craftcms/cms # Mettre à jour tous les modules et dépendances composer update # Exécuter les migrations de base de données php craft migrate/all # Vider les données mises en cache php craft clear-caches/all
Si vous utilisez Craft Cloud, redéployez votre environnement via le tableau de bord pour vous assurer d'exécuter la dernière version.
Avant de mettre à jour la production : Testez d'abord le processus de mise à jour sur un environnement de test. Certains modules peuvent ne pas être compatibles avec la dernière version de Craft, et vous voudrez résoudre les problèmes avant de mettre à jour votre site en direct.
Étape 2 : Faire la rotation de vos clés de sécurité immédiatement
Si vous ne pouvez pas mettre à jour immédiatement, faire la rotation de votre clé de sécurité offre une protection temporaire contre CVE-2025-23209. Générez une nouvelle clé de sécurité et mettez-la à jour dans tous les environnements :
# Générer une nouvelle clé de sécurité php craft setup/security-key
Mettez à jour la variable d'environnement `CRAFT_SECURITY_KEY` dans votre environnement de production. Si vous utilisez un hébergement partagé, mettez à jour ceci via votre panneau de contrôle d'hébergement ou fichier `.env`.
Important : Après avoir fait la rotation de la clé de sécurité, tous les utilisateurs devront se reconnecter. Planifiez cette fenêtre de maintenance en conséquence et avisez votre équipe.
Notre expérience montre que plusieurs sites stockent d'autres identifiants sensibles comme variables d'environnement. Profitez de cette occasion pour faire la rotation de :
- Mots de passe de base de données
- Clés API pour les services tiers (Stripe, AWS, etc.)
- Identifiants des services de courriel
- Toutes autres valeurs de configuration sensibles
Étape 3 : Implémenter des contrôles d'accès immédiats
Restreignez l'accès au panneau d'administration aux adresses IP de confiance pendant que vous complétez les mises à jour de sécurité. Ceci empêche les attaquants d'accéder à votre interface d'administration même s'ils découvrent d'autres vulnérabilités.
Exemple Apache .htaccess :
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
Allow from 203.0.113.0/24
Configuration Nginx :
location /admin {
allow 192.168.1.100;
allow 203.0.113.0/24;
deny all;
}Activez l'authentification multifacteurs pour tous les comptes admin si ce n'est déjà fait. Craft CMS supporte l'AMF via des modules comme Craft CMS MFA.
Étape 4 : Vérifier les signes de compromission
Examinez vos journaux de serveur pour détecter une activité suspecte. Cherchez spécifiquement les requêtes POST vers `/actions/assets/generate-transform` contenant `__class` dans le corps de la requête; ceci indique une tentative d'exploitation de CVE-2025-32432.
Modèles d'attaque courants à rechercher :
- Requêtes POST inhabituelles vers les points de terminaison de transformation d'actifs
- Nouveaux fichiers dans votre racine web ou répertoires de téléchargement
- Fichiers PHP inattendus avec des noms comme `filemanager.php` ou `autoload_classmap.php`
- Requêtes de base de données suspectes ou nouveaux comptes admin
Exécutez un scan de logiciels malveillants avec des outils comme Sucuri SiteCheck pour identifier tout fichier malveillant qui aurait pu être téléchargé.
Si vous trouvez des preuves de compromission, isolez immédiatement le serveur affecté et contactez votre fournisseur d'hébergement ou équipe de sécurité avant de procéder au nettoyage.
Étape 5 : Renforcer la configuration de votre serveur
Désactivez l'exécution PHP dans les répertoires de téléchargement pour empêcher les attaquants d'exécuter des scripts malveillants qu'ils réussissent à télécharger :
Apache .htaccess dans les répertoires de téléchargement :
php_flag engine off
RemoveHandler .php .phtml .php3
Order Allow,Deny
Deny from all
Configuration Nginx :
location ~* ^/uploads/.*\.php$ {
deny all;
}Assurez-vous que votre fichier `.env` et autres fichiers de configuration sensibles ne sont pas accessibles publiquement. Ceux-ci devraient être en dehors de votre racine web ou protégés par la configuration du serveur.
Définissez les permissions de fichier appropriées :
# Définir les permissions de fichier
find /path/to/craft -type f -exec chmod 644 {} \;
find /path/to/craft -type d -exec chmod 755 {} \;
# S'assurer que les fichiers sensibles ne sont pas lisibles par tous
chmod 600 .env
chmod 600 config/db.phpÉtape 6 : Implémenter des protections au niveau applicatif
Déployez un pare-feu d'applications web (WAF) pour filtrer les requêtes malveillantes avant qu'elles n'atteignent votre installation Craft CMS. Des services comme Cloudflare, AWS WAF, ou ModSecurity peuvent bloquer les modèles d'attaque connus.
Exemple de règle ModSecurity pour bloquer l'exploitation de CVE-2025-32432 :
SecRule REQUEST_BODY "@contains __class" \
"id:1001,\
phase:2,\
block,\
msg:'Tentative d'exploitation potentielle de Craft CMS CVE-2025-32432',\
logdata:'Le corps de la requête contient le paramètre __class'"Forcez HTTPS sur tout votre site pour protéger les données en transit :
Apache .htaccess :
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Nginx :
server {
listen 80;
server_name votredomaine.com;
return 301 https://$server_name$request_uri;
}Étape 7 : Actualiser toutes les identifiants d'utilisateur
Forcez la réinitialisation des mots de passe pour tous les utilisateurs, particulièrement les comptes admin. Ceci assure que si des identifiants ont été compromis, ils deviennent invalides :
# Forcer la réinitialisation de mot de passe pour tous les utilisateurs php craft resave/users --set passwordResetRequired --to "fn() => true" # Ou cibler des groupes d'utilisateurs spécifiques php craft resave/users --group admins --set passwordResetRequired --to "fn() => true"
Examinez tous les comptes utilisateur et supprimez ceux qui semblent suspects ou ne sont plus nécessaires. Vérifiez les comptes récemment créés, surtout ceux avec des privilèges admin.
Étape 8 : Établir des procédures de surveillance et de sauvegarde
Configurez une surveillance automatisée pour détecter les futurs incidents de sécurité. Le module Sherlock Security Scanner peut surveiller votre site Craft CMS pour détecter les fichiers suspects et les changements de configuration.
Implémentez des procédures de sauvegarde complètes si ce n'est déjà fait :
- Sauvegardes automatisées quotidiennes stockées hors site
- Sauvegardes de base de données avant tout changement majeur
- Sauvegardes du système de fichiers incluant les téléchargements utilisateur et la configuration
Testez régulièrement vos sauvegardes pour vous assurer qu'elles fonctionnent quand nécessaire.
Étapes de vérification
Après avoir implémenté ces mesures de sécurité, vérifiez que votre site est correctement protégé :
- Confirmez votre version Craft CMS : Vérifiez que vous utilisez la dernière version corrigée dans le panneau admin sous Paramètres > Général
- Testez les restrictions d'accès admin : Vérifiez que l'accès au panneau admin est bloqué depuis les adresses IP non autorisées
- Vérifiez le blocage d'exécution PHP : Essayez d'accéder à un fichier PHP test dans votre répertoire de téléchargements, il devrait être bloqué
- Vérifiez SSL/HTTPS : Confirmez que toutes les pages redirigent vers HTTPS et affichent les certificats SSL appropriés
- Examinez les journaux : Surveillez vos journaux de serveur pour tout modèle d'activité suspecte
Problèmes d'implémentation courants
Échecs de mise à jour : Si les mises à jour Composer échouent, videz le cache avec `composer clear-cache` et vérifiez que votre version PHP respecte les exigences de Craft CMS.
Compatibilité des modules : Certains modules peuvent ne pas fonctionner avec la dernière version de Craft CMS. Vérifiez la boutique de modules pour les mises à jour ou désactivez temporairement les modules incompatibles.
Verrouillage hors admin : Si vous vous verrouillez accidentellement, utilisez `php craft users/unlock [nom d'utilisateur]` ou réinitialisez l'accès via votre base de données.
Impact sur la performance : Les règles WAF et mesures de sécurité additionnelles peuvent affecter la performance du site. Surveillez les temps de réponse de votre site et ajustez les règles au besoin.
Pratiques de sécurité continues
Ces actions immédiates sécuriseront votre site, mais maintenir la sécurité requiert une attention continue :
- Abonnez-vous aux avis de sécurité Craft CMS pour les futures annonces de vulnérabilités
- Mettez régulièrement à jour le noyau Craft CMS et tous les modules
- Surveillez le catalogue CISA KEV pour les nouvelles menaces
- Effectuez des examens de sécurité trimestriels de vos installations Craft CMS
- Formez votre équipe aux meilleures pratiques de sécurité et procédures de réponse aux incidents
Obtenir de l'aide professionnelle
Si vous n'êtes pas à l'aise d'implémenter ces mesures de sécurité vous-même, ou si vous soupçonnez que votre site a été compromis, considérez travailler avec une agence de développement web spécialisée en sécurité Craft CMS. Les audits de sécurité professionnels et la réponse aux incidents peuvent identifier des problèmes que vous pourriez manquer et offrir la tranquillité d'esprit.
Lors de l'évaluation de partenaires de sécurité, recherchez des équipes avec une expérience spécifique de Craft CMS et un historique de gestion d'incidents de sécurité. Demandez-leur leurs procédures de réponse aux incidents et capacités de surveillance continue.
Agissez maintenant
N'attendez pas pour implémenter ces mesures de sécurité. Les vulnérabilités sont activement exploitées, et chaque jour de retard augmente votre risque. Commencez par mettre à jour Craft CMS et faire la rotation de vos clés de sécurité. Ces deux actions seules protégeront contre les menaces actuelles les plus sérieuses.
Rappelez-vous que la sécurité est un processus continu, non un correctif ponctuel. Restez informé des nouvelles vulnérabilités, gardez vos logiciels à jour, et examinez régulièrement vos mesures de sécurité pour vous assurer qu'elles restent efficaces contre les menaces évolutives.
La sécurité de votre site dépend de prendre ces mesures immédiatement. L'implémentation technique est simple, mais les conséquences de l'inaction peuvent être graves. Protégez votre site, vos données, et vos utilisateurs en implémentant ces mesures de sécurité dès aujourd'hui.
