Le probleme des plugins dont personne ne parle assez
WordPress alimente environ 43% de tous les sites web. Joomla, Drupal et d'autres plateformes CMS couvrent une autre part significative. Ce qui rend ces plateformes si populaires est la meme chose qui les rend si vulnerables : les plugins (ou modules, ou extensions, selon votre CMS).
Le site WordPress moyen utilise 20 a 30 plugins. Chaque plugin est un morceau de code tiers qui a un acces complet a votre base de donnees, votre systeme de fichiers et les donnees de vos utilisateurs. Certains de ces plugins sont maintenus par des entreprises bien financees avec des equipes de securite dediees. Beaucoup sont maintenus par un seul developpeur pendant son temps libre. Certains n'ont pas ete mis a jour depuis des annees. Et chacun d'entre eux est un point d'entree potentiel pour les attaquants.
L'ampleur du probleme
Le repertoire de plugins WordPress a lui seul heberge plus de 60 000 plugins. Le marche des plugins commerciaux en ajoute des dizaines de milliers. Selon la base de donnees de vulnerabilites de WPScan, plus de 4 000 vulnerabilites connues ont ete signalees dans les plugins WordPress rien qu'en 2024. C'est plus de 10 par jour.
Pourquoi les plugins sont des cibles si attrayantes
- Base d'installation massive. Un plugin populaire avec 500 000 installations actives signifie 500 000 cibles potentielles a partir d'une seule vulnerabilite.
- Emplacement du code previsible. Les plugins se trouvent dans
/wp-content/plugins/nom-du-plugin/. - Adoption lente des mises a jour. Meme lorsqu'un correctif est publie, de nombreux proprietaires de sites ne mettent pas a jour pendant des semaines ou des mois.
- Qualite de code variable. Il n'y a pas de revision de securite obligatoire avant qu'un plugin soit liste dans le repertoire.
Attaques supply chain sur les plugins
Au lieu de trouver une vulnerabilite dans un plugin, l'attaquant compromet le plugin lui-meme ou son canal de distribution.
Comment fonctionnent les attaques supply chain
- Un attaquant identifie un plugin populaire dont le developpeur a perdu tout interet ou fait face a des difficultes financieres.
- L'attaquant achete le plugin (ou propose de "reprendre la maintenance" gratuitement).
- L'attaquant pousse une mise a jour qui inclut du code malveillant, souvent enfoui dans le code ou obfusque.
- La mise a jour automatique de WordPress distribue le code malveillant a chaque site utilisant le plugin.
Exemples reels
- Social Warfare (2019) a ete l'un des premiers cas mediatises. Plus de 70 000 sites ont ete affectes.
- Le plugin Display Widgets a ete achete par un nouveau developpeur qui a insere du code d'injection de liens spam.
- Plusieurs plugins sur le depot WordPress.org ont ete trouves avec des comptes developpeurs compromis.
L'attaque supply chain est particulierement dangereuse car elle exploite la relation de confiance entre les developpeurs de plugins et les proprietaires de sites. Quand WordPress vous dit qu'une mise a jour est disponible, vous mettez a jour. Mais que se passe-t-il si la mise a jour elle-meme est l'attaque ?
Plugins abandonnes : la menace silencieuse
Un plugin abandonne est un plugin qui n'est plus activement maintenu. Le developpeur est passe a autre chose. Le plugin fonctionne encore (plus ou moins), donc les proprietaires de sites continuent de l'utiliser. Mais personne ne corrige les bugs ni ne patche les vulnerabilites.
Comment identifier les plugins abandonnes
- Date de derniere mise a jour. Si un plugin n'a pas ete mis a jour depuis plus d'un an, soyez prudent.
- Activite du forum de support. Si le developpeur ne repond pas aux demandes de support, il est probablement passe a autre chose.
- Version "Teste jusqu'a". Si elle indique WordPress 5.x alors que vous utilisez WordPress 6.x, c'est un signal d'alarme.
Exemples reels de CVE
CVE-2024-2879 : LayerSlider SQL Injection
LayerSlider, un plugin premium installe sur plus d'un million de sites, avait une vulnerabilite critique d'injection SQL permettant a des attaquants non authentifies d'extraire des donnees sensibles.
Score CVSS : 9.8 (Critique)
CVE-2024-1071 : Ultimate Member Plugin
Le plugin Ultimate Member (200 000+ installations actives) avait une vulnerabilite d'injection SQL dans son parametre de tri.
Score CVSS : 9.8 (Critique)
CVE-2023-6553 : Plugin Backup Migration
Ce plugin avait une vulnerabilite d'execution de code a distance permettant l'execution de code PHP arbitraire.
Score CVSS : 9.8 (Critique)
Remarquez le schema : ce sont toutes des vulnerabilites non authentifiees. Pour en savoir plus, consultez notre analyse detaillee des vulnerabilites WordPress en 2025.
Le paradoxe des mises a jour
Le conseil de securite standard est simple : gardez tout a jour. Mais en pratique, la mise a jour des plugins CMS est plus compliquee qu'elle ne devrait l'etre.
Pourquoi les mises a jour cassent les choses
- Conflits entre plugins. La mise a jour d'un plugin peut casser un autre qui depend de son API.
- Incompatibilites de theme. Les themes incluent souvent des integrations personnalisees de plugins.
- Changements de schema de base de donnees.
- Pas d'environnement de staging. La plupart des sites de PME n'ont pas d'environnement de staging.
Une meilleure approche
- Utilisez un environnement de staging. Testez toutes les mises a jour sur une copie de votre site.
- Automatisez les sauvegardes avant les mises a jour.
- Priorisez les mises a jour de securite.
- Surveillez les changements. Verifiez les fonctionnalites critiques apres chaque mise a jour.
- Reduisez le nombre de plugins.
Evaluer les plugins avant l'installation
| Facteur | Ce qu'il faut rechercher | Signaux d'alarme |
|---|---|---|
| Maintenance active | Mis a jour dans les 3 derniers mois | Aucune mise a jour en 12+ mois |
| Reputation du developpeur | Entreprise connue ou dev etabli | Comptes anonymes ou nouveaux |
| Qualite du code | Code propre et bien structure | Code obfusque, appels eval() |
| Historique de securite | Divulgation responsable, patchs rapides | Historique de CVE non corriges |
Approches alternatives
Le moyen le plus efficace de reduire le risque est d'utiliser moins de plugins.
Construire des fonctionnalites personnalisees
Pour des fonctionnalites simples, ecrire du code personnalise vous donne un controle total et elimine le risque tiers.
Envisager une architecture differente
Les generateurs de sites statiques (Astro, Hugo, Eleventy) et les configurations headless CMS eliminent la plupart de la surface d'attaque cote serveur. Nous avons ecrit a ce sujet dans notre comparaison WordPress vs Jamstack.
Que faire si un plugin est compromis
- Desactivez et supprimez le plugin immediatement.
- Recherchez les indicateurs de compromission.
- Scannez l'ensemble du site. Utilisez Wordfence, Sucuri ou WPScan.
- Changez tous les mots de passe.
- Restaurez a partir d'une sauvegarde propre.
- Notifiez les utilisateurs concernes. Sous le RGPD et la loi suisse sur la protection des donnees (nLPD), vous pouvez avoir une obligation legale de signaler la violation.
Recommandations pratiques
Sur la base de notre experience dans la realisation d'evaluations de securite pour des entreprises en Suisse :
- Auditez vos plugins regulierement. Au moins trimestriellement.
- Tenez un inventaire des plugins.
- Minimisez le nombre de plugins.
- Utilisez un Web Application Firewall (WAF).
- Surveillez les bases de donnees de vulnerabilites.
- Ayez un plan de reponse aux incidents.
- Considerez la question architecturale.
Conclusion
Les plugins CMS sont l'un des plus grands risques de securite sur le web, et aussi l'un des plus negliges. Cela ne signifie pas que vous ne devriez jamais utiliser de plugins. Cela signifie que vous devriez traiter chaque plugin comme une decision de risque deliberee. Si vous avez besoin d'aide, contactez notre equipe.
Vous voulez savoir si votre site est sécurisé ?
Demandez un audit de sécurité gratuit. En 48 heures vous recevez un rapport complet.
Demander un Audit Gratuit