17 Avr 2026
Olivier

Un attaquant a acheté plus de 30 plugins WordPress (portefeuille Essential Plugin) sur Flippa, a installé une porte dérobée en août 2025. Il l’a ensuite activée huit mois plus tard pour distribuer du spam SEO destiné exclusivement à Googlebot. WordPress.org a donc coupé l’accès à 31 plugins le 7 avril 2026.
La même semaine, Smart Slider 3 Pro a été séparément compromise via son infrastructure de mise à jour. Les deux attaques exposent une lacune structurelle au sein de la communauté du CMS. WordPress n’a aucun mécanisme pour examiner les transferts de propriété des plugins ou exiger la signature du code pour les mises à jour.
Un individu a donc acheté plus de 30 plugins WordPress sur le marché libre. Il a ensuite discrètement introduit des portes dérobées dans chacun d’eux. Le malfaiteur a alors attendu huit mois avant d’activer une charge utile qui a distribué du spam SEO caché à Google, sans que les propriétaires des sites web le voient.
WordPress.org a arrêtée l’attaque le 7 avril en fermant définitivement tous les plugins de l’auteur d’Essential Plugin. Il s’agit de l’un des failles logistiques les plus méthodiques auxquels la plateforme ait jamais été confrontée. Le plus inquiétant est que l’attaque a exploité une vulnérabilité structurelle que WordPress est incapable d’empêcher.
L’acheteur a été identifié uniquement sous le nom de « Kris ». Il serait lié à une formation SEO, la cryptomonnaie et la marketing des jeux d’argent en ligne. Cet individu a acheté l’intégralité du portefeuille Essential Plugin en 2025 via Flippa, la place de marché des entreprises numériques.
Flippa était suffisamment satisfait de la transaction pour publier une étude de cas sur la vente en juillet 2025. À ce moment-là, la porte dérobée avait pourtant déjà été implantée.
Le code malveillant a été introduit dans la version 2.6.7 des plugins, publiée le 8 août 2025. Une entrée de journal des modifications indiquait alors « Vérifiez la compatibilité avec la version 6.8.2 de WordPress ».
Cette note inoffensive dissimulait toutefois 191 lignes supplémentaires de PHP. Celles-ci comprenait une porte dérobée de désérialisation qui permettrait l’exécution de code à distance. Le code est resté inactif pendant huit mois, gagnant la confiance des utilisateurs, avant d’être activé les 5 et 6 avril 2026.
Le délai d’injection du 6 avril a duré six heures et 44 minutes. Il a eu lieu entre 04h22 et 11h06 UTC. Au cours de cette période, un domaine de commande et contrôle, analytics.essentialplugin.com, a commencé à distribuer des charges utiles à chaque site Web exécutant l’un des plugins compromis.
Le module interne wpos-analytics des plugins a alors téléchargé un fichier appelé wp-comments-posts.php. Il l’a ensuite utilisé pour injecter du code PHP directement dans wp-config.php, l’un des fichiers les plus sensibles de toute installation WordPress.
Ce que la charge utile a fait était sophistiqué dans sa retenue. Il a d’abord récupéré des liens spam, des redirections et de fausses pages depuis le serveur C2. Il les a ensuite servis exclusivement à Googlebot. Les propriétaires de sites qui parcouraient leurs propres pages n’ont rien vu d’inhabituel.
Seuls les robots des moteurs de recherche ont reçu le contenu malveillant. Cette technique connue sous le nom de “cloaking” est conçue pour manipuler les classements des recherches, tout en échappant à la détection humaine aussi longtemps que possible.
L’infrastructure de C2 elle-même a été construite pour résister à la mise à terre. Elle ne s’appuyait pas sur un domaine conventionnel qui aurait pu être saisi ou mis sur liste noire. La charge utile a plutôt résolu son serveur de commande via un contrat intelligent Ethereum. Elle interrogeait donc des points de terminaison RPC de blockchain publique.
La saisie de domaine, qui est l’outil standard pour perturber les botnets et les opérations de spam, était donc impossible.
L’attaque a exploité ce qui équivaut à un vide politique au cœur de l’écosystème WordPress. WordPress.org examine les nouvelles soumissions de plugins avant qu’elles n’apparaissent dans le répertoire.
Mais lorsqu’un plugin existant change de main sur Flippa, aucune révision de code supplémentaire n’est déclenchée. Aucune notification de « changement de contrôle » n’est envoyée aux centaines de milliers de sites exécutant les plugins concernés.
Le nouveau propriétaire hérite donc de l’accès au commit du développeur précédent, de sa réputation et de la confiance implicite de chaque administrateur du site qui a activé les mises à jour automatiques.
Il ne s’agit pas d’une vulnérabilité théorique, mais architecturale. WordPress alimente environ 43 % de tous les sites web sur internet. Son écosystème de plugins contient plus de 60 000 plugins différents. Beaucoup d’entre eux maintenus par des développeurs solo ou de petites équipes.
Tous ces acteurs peuvent vendre leurs projets quand ils perdent intérêt, ont besoin d’argent, ou simplement passent à autre chose. Chacune de ces transactions est une opportunité pour la même attaque : acheter la confiance, attendre, se mettre en armes.
La réponse de WordPress.org à la compromission des plugins Essential a été rapide une fois l’attaque détectée. Le 7 avril, l’équipe des plugins a définitivement fermé 31 plugins de l’auteur concerné. Une mise à jour ultérieure, la version 2.6.9.1, a neutralisé le mécanisme du téléphone privé.
Cela n’a toutefois pas touché le code injecté dans wp-config.php. Cela signifie donc que des sites qui avaient déjà été compromis ont continué à servir du spam caché aux moteurs de recherche même après la mise à jour.
Une remédiation complète nécessite une inspection manuelle de wp-config.php. Il s’agit d’une étape que de nombreux opérateurs de site gérant de petites entreprises sur WordPress ne savent probablement pas comment effectuer.
Le compromis d’Essential Plugin est arrivé la même semaine qu’une attaque distincte de la chaîne d’approvisionnement sur Smart Slider 3 Pro. Il s’agit d’un plugin de slider WordPress avec plus de 800 000 installations actives.
Dans ce cas, les attaquants ont compromis l’infrastructure de mise à jour de Nextend, la société derrière le plugin. Ils ont ensuite lancé une version militarisée, 3.5.1.35, via le canal de mise à jour officiel.
Tout site qui s’est mis à jour automatiquement pendant la fenêtre d’environ six heures avant la détection a reçu une boîte à outils complète d’accès à distance. Celle-ci était capable de créer des comptes d’administrateurs voyous, d’exfiltrer les identifiants de base de données et de supprimer des portes dérobées persistantes à plusieurs endroits sur le système de fichiers.
Les deux attaques ont utilisé des méthodes différentes. L’une a exploité un transfert de propriété, alors que l’autre une compromission du serveur. Elles exploitent néanmoins la même faiblesse sous-jacente : le pipeline de mise à jour WordPress fait confiance à la source implicitement dès qu’un plugin est établi.
Il n’y a pas d’exigence de signature de code pour les mises à jour de plugins. Il n’existe pas d’authentification à deux facteurs obligatoire pour les comptes de développeur. Et il n’y a pas de cadre réglementaire qui oblige WordPress.org à mettre en œuvre le type de vérification de la chaîne d’approvisionnement que d’autres écosystèmes logiciels ont adopté.
L’écosystème npm, qui distribue des packages JavaScript, a été confronté à une situation similaire après une série d’attaques de la chaîne d’approvisionnement au début des années 2020. Il a alors répondu par une authentification à deux facteurs obligatoire pour les responsables de packages à fort impact, une attestation de provenance et un scan de sécurité automatisé.
PyPI, l’index du package Python, a suivi un chemin comparable. WordPress, bien qu’il alimente une plus grande part d’Internet que les deux autres, ne l’a toutefois pas fait.
Les 26 plugins concernés dans le portefeuille de plugins Essential, y compris Countdown Timer Ultimate, Popup Anything on Click, WP Testimonial avec Widget, WP Team Showcase et Slider, WP FAQ, et SP News et Widget, ont chacun eu des milliers d’installations actives.
Collectivement, ils représentent une empreinte suffisamment importante pour rendre l’attaque commercialement viable en tant qu’opération de spam SEO. La menace est aussi assez dangereuse pour soulever des questions quant à savoir si le modèle de gouvernance des plugins de WordPress peut survivre dans un monde où la confiance est une marchandise qui peut être achetée sur une place de marché.
Il n’est pas rare que des plugins WordPress se révèle avoir des failles de sécurité. Dans la vaste majorité des cas, ces problèmes sont toutefois accidentels et involontaires. Il est beaucoup plus rare de voir de malfaiteurs payer des centaines de milliers de dollars pour acheter des plugins dans le but de les compromettre.
Cet épisode vient donc attirer l’attention sur un risque contre lequel la communauté WordPress est mal protégée. Il semble désormais urgent de mettre en place un mécanisme de surveillance pour éviter que des incidents similaires surviennent dans le futur.
Nous espérons que cet article vous a plus et vous a éclairé sur les portes dérobées découvertes dans une trentaine de plugins WordPress. Si c’est le cas, nous vous invitons à consulter nos autres articles et comparatifs de notre blog. Vous y trouverez les informations les plus récentes sur l’industrie l’hébergement et sur la création de sites web.