Une compromission invisible, sans mise à jour ni interaction

Un acteur malveillant a compromis l'infrastructure en amont de BdThemes, un développeur d'outils de conception web premium pour WordPress, et a modifié un flux JSON distant livré directement aux navigateurs des administrateurs pour créer des comptes administrateurs fantômes sur les sites impactés. À partir du samedi 8 août 2026, les plugins BdThemes concernés ont été retirés du répertoire WordPress.org, dans l'attente d'une revue complète de sécurité.

BdThemes propose plusieurs plugins populaires — Element Pack, Prime Slider, Ultimate Post Kit, Pixel Gallery et Ultimate Store Kit. Son plugin phare gratuit Element Pack affiche à lui seul plus de 100 000 installations actives sur WordPress.org, et l'éditeur revendique un portefeuille total de plus de 350 000 installations actives.

Le mécanisme : un flux promotionnel empoisonné

La société de sécurité WordPress Defiant, via son produit Wordfence, a commencé à détecter des attaques à travers son pare-feu applicatif (WAF) dès le 7 août 2026. Selon les chercheurs, l'attaquant a obtenu un accès en écriture au bucket de stockage du vendeur et a ensuite « empoisonné un flux de données JSON statique distant », récupéré par un composant de bannière promotionnelle administrative.

Une faille de programmation introduite en mars 2026 dans le code de parsing des réponses JSON a créé une vulnérabilité de type cross-site scripting (XSS) dans l'infrastructure BdThemes. Le défaut se trouve dans la bibliothèque Biggop, utilisée par le composant Biggopti chargé de récupérer les bannières promotionnelles depuis le serveur API du vendeur et de les afficher dans le tableau de bord WordPress des administrateurs.

« La bibliothèque Biggop est vulnérable au cross-site scripting via le paramètre 'display_id' de l'API Sigmative, en raison d'un échappement de sortie insuffisant », précisent les chercheurs de Wordfence. « Cela permet à un attaquant ayant compromis le serveur API Sigmative d'injecter des scripts web arbitraires qui s'exécuteront à chaque fois qu'un utilisateur accède à une page injectée. »

Une attaque furtive et persistante

Le code JavaScript malveillant injecté exploite la session authentifiée de l'administrateur légitime pour créer des comptes administrateurs rogue sur les sites compromis. Un payload supplémentaire (w2.js) établit ensuite une persistance via un webshell (emer-run.php) en installant un faux plugin.

Parce que l'attaque est entièrement pilotée par API — sans interaction, sans modification de fichier, ni mise à jour de plugin —, elle est extrêmement difficile à détecter. Le payload s'exécute à chaque fois qu'un administrateur connecté ouvre une page wp-admin. Pire encore, le code injecté manipule les requêtes de base de données WordPress pour masquer les comptes administrateurs frauduleux de la liste des utilisateurs, rendant la compromision encore plus ardue à repérer.

Un mode opératoire déjà vu

Les chercheurs de Wordfence indiquent que l'infrastructure de command-and-control (C2) utilisée dans ces attaques pointe vers le même acteur que celui derrière les récentes compromissions de chaîne d'approvisionnement affectant Advanced Responsive Video Embedder et OptinMonster. Après analyse des enregistrements disponibles, les chercheurs estiment que la campagne a pu débuter dès le 23 juin 2026.

Mesures prises et statut actuel

Les plugins affectés ont été retirés du répertoire WordPress.org le 8 août 2026, dans l'attente d'une enquête. Deux endpoints API empoisonnés renvoient désormais des données JSON propres. La vulnérabilité a été classée de sévérité « moyenne » et, selon le rapport de Defiant, restait non corrigée au moment de la publication.

Au moment de la rédaction de l'article, BdThemes n'a publié aucune déclaration officielle sur son site. BleepingComputer a contacté l'éditeur pour obtenir un commentaire, sans réponse à ce jour.

Recommandations pour les administrateurs WordPress

Si vous utilisez l'un des plugins BdThemes mentionnés, il est recommandé de :

  • Désactiver immédiatement les plugins concernés en attendant un correctif officiel ;
  • Vérifier la liste des utilisateurs administrateurs via une requête directe en base de données (en contournant le masquage WordPress) pour détecter d'éventuels comptes frauduleux ;
  • Rechercher la présence des fichiers emer-run.php ou de faux plugins récemment installés ;
  • Considérer l'utilisation d'un WAF comme Wordfence pour bloquer les tentatives d'exploitation XSS ;
  • Surveiller les journaux d'accès pour détecter toute activité suspecte remontant à fin juin 2026.

Cette incident rappelle une fois de plus que la sécurité d'un site WordPress ne dépend pas seulement du code installé localement, mais aussi de l'ensemble de la chaîne d'approvisionnement — y compris les flux API distants que les plugins interrogent silencieusement en arrière-plan.