Le 14 septembre 2026, Brevo a subi un incident de sécurité lié à une clé API Cloudflare compromise. Selon son post-mortem, l’attaquant a déployé un Cloudflare Worker sur le compte Brevo et modifié des pages de 15:01 à 20:30 UTC. Brevo situe le début de l’impact sur les scripts intégrés aux sites clients à 16:07; Sansec a observé ces fichiers compromis de 16:05 à 20:13 UTC. Sansec estime que plus de 100 000 sites utilisaient les composants concernés, mais Brevo n’a pas publié de décompte confirmé des sites touchés.
L’enjeu dépasse le seul prestataire marketing. Un secret d’infrastructure longue durée a permis de transformer des widgets de formulaire, de conversation ou de suivi en vecteur de diffusion. Pour une TPE ou une PME, l’incident rappelle que la sécurité d’un site dépend aussi des scripts chargés depuis les fournisseurs.
Ce qui s’est passé
Brevo situe la fenêtre d’impact globale du 14 septembre 2026 entre 15:01 et 20:30 UTC. Les scripts intégrés aux sites clients et les pages sibforms.com ont été concernés à partir de 16:07. Le Worker malveillant a injecté un script dans des pages de brevo.com et de sibforms.com, ainsi que dans trois ressources JavaScript utilisées par les clients : le script de formulaires Brevo, le widget Brevo Conversations et le SDK loader.
Brevo précise que l’application app.brevo.com, l’API, l’infrastructure d’envoi d’e-mails et les données de comptes clients conservées dans Brevo n’ont pas été affectées. Le point important est ailleurs : les fichiers d’origine n’étaient pas modifiés. La réponse était réécrite au niveau CDN, ce qui a contourné des contrôles classiques fondés uniquement sur l’intégrité de l’origine.
Le rôle de la clé Cloudflare
Le post-mortem de Brevo décrit une clé API Cloudflare longue durée, dotée de permissions complètes, stockée dans du code applicatif et obtenue par l’attaquant. Avec cette clé, l’attaquant a pu créer des Workers, des routes et des enregistrements DNS sur les zones Brevo, sans alerte immédiate.
Cette cause racine est utile pour toutes les organisations qui manipulent des secrets d’infrastructure. Une clé Cloudflare, DNS, CDN ou hébergeur n’est pas un simple mot de passe technique : elle peut modifier ce que voient les visiteurs, détourner des sous-domaines ou changer la façon dont un script est servi. Sa durée de vie, son périmètre et son stockage doivent donc être traités comme des contrôles de production.
Visiteurs et administrateurs WordPress : deux risques distincts
Pour les visiteurs, le script affichait sélectivement une fausse page de vérification Cloudflare demandant d’appuyer sur Win+R, Ctrl+V puis Entrée. Cette technique, appelée ClickFix, pousse la personne à exécuter elle-même une commande copiée dans le presse-papiers. Le danger ne venait donc pas d’un formulaire Brevo à remplir, mais d’une consigne d’exécution locale sur le poste Windows.
Sansec et BleepingComputer décrivent aussi un comportement spécifique sur les sites WordPress. Si un visiteur était connecté comme administrateur WordPress sur un site intégrant un widget Brevo affecté, le script tentait d’installer un plugin malveillant. BleepingComputer rapporte que ce plugin pouvait se cacher de la liste habituelle, se copier dans le répertoire mu-plugins et contenir une clé permettant de créer une session administrateur. Les administrateurs WordPress qui ont consulté leur site pendant la fenêtre d’exposition doivent vérifier les journaux, les plugins installés ou activés ce jour-là et le contenu du répertoire mu-plugins.
Ce que les entreprises doivent vérifier maintenant
Les clients qui chargeaient le tracker Brevo, le widget Conversations ou les formulaires Brevo le 14 septembre doivent commencer par leurs journaux. Brevo situe l’atteinte aux scripts clients à partir de 16:07 UTC; Sansec a observé la diffusion de fichiers compromis de 16:05 à 20:13. Côté WordPress, recherchez les requêtes d’installation et d’activation de plugin pendant cette fenêtre, comparez les fichiers sur disque avec la liste de l’administration et vérifiez également le répertoire mu-plugins, où un module malveillant pouvait se dissimuler.
Pour les visiteurs ou collaborateurs qui ont suivi une instruction ClickFix, Brevo recommande de considérer la machine comme compromise : la déconnecter, lancer une analyse antivirus complète et changer les mots de passe utilisés sur ce poste. Les comptes Brevo consultés via brevo.com le 14 septembre méritent aussi une rotation préventive du mot de passe et une revue des clés API.
Contrôler les scripts tiers et les secrets d’infrastructure
L’incident Brevo montre que l’inventaire des scripts tiers doit être exploitable en crise. Une entreprise devrait savoir quelles pages chargent un tracker, un formulaire ou un widget, qui en est propriétaire, et comment le désactiver rapidement si le fournisseur publie un incident. Les journaux CSP, les alertes sur changements CDN et une liste courte de domaines autorisés aident à repérer une injection qui ne modifie pas le serveur d’origine.
Le même principe vaut pour les secrets d’infrastructure. Les clés à permissions larges doivent être rares, documentées, limitées dans le temps et surveillées. Les secrets intégrés dans le code source, les fichiers de configuration partagés ou les dépôts historiques créent un angle mort : on oublie qu’ils existent jusqu’au jour où leur rotation devient urgente.
Le lien avec Soclyde
Soclyde ne protège pas Brevo, Cloudflare ou les sites clients contre cet incident déjà résolu, et ne révoque ni ne renouvelle automatiquement une clé API. Son coffre chiffré local-first est conçu pour conserver les identifiants et mots de passe sous le contrôle de l’équipe. L’inventaire, la révocation et la rotation d’une clé d’infrastructure restent à effectuer dans le service où elle est utilisée.
Pour une PME, cette discipline réduit l’effet domino lorsqu’un fournisseur demande de changer un mot de passe, de révoquer une clé API ou de revoir les comptes d’administration. Elle aide aussi à séparer les secrets humains des secrets d’infrastructure, afin que les clés critiques ne circulent pas comme de simples notes de projet.
À retenir
L’incident Brevo est un cas concret de chaîne de diffusion compromise : une clé Cloudflare a permis d’altérer des réponses servies à l’edge, exposant visiteurs et administrateurs WordPress à des actions différentes. Sansec estime que plus de 100 000 sites utilisaient les composants touchés, sans total confirmé par Brevo. Les sites concernés doivent vérifier leurs journaux, leurs plugins WordPress, le répertoire mu-plugins et les postes où une instruction ClickFix a été exécutée.
La leçon durable est plus simple : chaque dépendance tierce doit pouvoir être inventoriée, désactivée et surveillée ; chaque secret d’infrastructure doit être limité, stocké hors du code et renouvelable. Pour structurer cette base, consultez notre guide du générateur de mots de passe sécurisé, le guide de partage des mots de passe en équipe et notre méthode d’audit d’un gestionnaire de mots de passe.



