Attaque OptinMonster : 1,2 million de sites WordPress exposés via la chaîne d’approvisionnement

Mauvaise nouvelle pour les sites WordPress qui font tourner OptinMonster (et plus largement les extensions d’Awesome Motive) : ces dernières semaines, une attaque sophistiquée a permis à des pirates d’injecter du code malveillant directement dans les fichiers JavaScript distribués aux utilisateurs.

Source originale : The Repository →

Ce qui s’est passé

Le point de départ : le vol d’une clé d’accès au CDN d’Awesome Motive. La société édite tout un pan de l’écosystème WordPress (OptinMonster (lien aff), TrustPulse, PushEngage, mais aussi WPBeginner, WPForms, All in One SEO, SeedProd (lien aff) et MonsterInsights (lien aff)). De quoi faire de cette infrastructure une cible juteuse.

Une fois la clé en main, les attaquants ont injecté du code malveillant dans des fichiers JavaScript servis par ce CDN à tous les sites utilisant les extensions OptinMonster, TrustPulse et PushEngage. C’est ce qu’on appelle une attaque de la chaîne d’approvisionnement : on ne pirate pas vos sites un par un, on pirate la source qui les sert tous en même temps.

Le mode opératoire est précis : le malware ne se déclenchait que pour les administrateurs connectés. Il exploitait alors leur session active pour créer des comptes administrateurs cachés et installer une porte dérobée. Ensuite, prise de contrôle complète du site.

Êtes-vous impacté ?

Le scope officiel touche les sites qui utilisent au moins une de ces trois extensions :

  • OptinMonster : 1,2 million d’installations actives
  • TrustPulse
  • PushEngage

Si l’une de ces extensions tourne sur vos sites (y compris ceux de vos clients si vous êtes en agence ou freelance) il faut considérer que vous êtes potentiellement concerné.

À noter : Awesome Motive a confirmé que ses serveurs applicatifs et les données clients n’ont pas été compromis. C’est la chaîne de distribution (CDN + JS) qui a été détournée, pas les bases de données internes.

Que faire concrètement

  1. Mettez à jour les extensions OptinMonster, TrustPulse et PushEngage vers la dernière version disponible. Awesome Motive a révoqué les accès volés et publié des versions saines, mais encore faut-il les déployer.
  2. Vérifiez la liste des utilisateurs administrateurs. Repérez tout compte que vous n’auriez pas créé, surtout les comptes récents.
  3. Inspectez les extensions au niveau du système de fichiers (wp-content/plugins/), pas seulement depuis l’admin.
  4. Regardez les logs d’accès récents pour repérer des connexions inhabituelles.
  5. Si vous découvrez une compromission, partez du principe que tout le site est corrompu : restaurez depuis une sauvegarde antérieure ou faites un nettoyage en profondeur.

La leçon à retenir

Cette attaque rappelle une réalité que beaucoup sous-estiment : vous ne dépendez pas seulement de la sécurité de WordPress lui-même, mais aussi de celle de chaque éditeur de plugin que vous installez.

  • Activez les mises à jour automatiques sur les extensions critiques.
  • Limitez le nombre de comptes administrateurs.
  • Surveillez vos sites avec un outil de monitoring sécurité. WP Umbrella (lien aff) ou Wordfence peuvent détecter ce type d’anomalie automatiquement.

Si vous gérez plusieurs sites pour des clients, c’est un excellent moment pour leur facturer ce travail de vérification d’urgence. Eux ne savent pas que cette attaque a eu lieu. Vous, oui.