Un incident de sécurité chez Brevo a pris une ampleur particulière le 14 septembre. En compromettant une clé d’accès à l’infrastructure Cloudflare de l’entreprise, des attaquants ont réussi à modifier des ressources utilisées par de nombreux sites web. Pendant plusieurs heures, ces ressources ont pu diffuser du code malveillant, notamment une attaque ClickFix visant les visiteurs et un mécanisme ciblant les administrateurs de sites WordPress.
Une attaque qui dépasse largement Brevo
Brevo est notamment utilisé pour les campagnes d’e-mailing, les formulaires d’inscription, le suivi des visiteurs ou encore les outils de conversation intégrés aux sites. Ces services reposent sur des scripts et des ressources hébergés par Brevo, que les clients intègrent directement dans leurs pages.
C’est précisément ce fonctionnement qui a transformé l’incident en attaque par chaîne d’approvisionnement. Les sites concernés n’avaient pas nécessairement été piratés eux-mêmes. Ils chargeaient simplement une ressource externe fournie par un prestataire dont l’infrastructure venait d’être compromise.
Selon les informations publiées par Sansec, plus de 100 000 sites pouvaient être concernés par la diffusion des ressources compromises. Ce chiffre correspond à l’ampleur potentielle de l’exposition et ne signifie pas que 100 000 sites ont été infectés.

Une clé Cloudflare au cœur de l’attaque
Le point technique déterminant est une clé API Cloudflare compromise. D’après les informations disponibles, les attaquants ont utilisé cette clé pour déployer un Worker Cloudflare capable de modifier le contenu servi par l’infrastructure de Brevo.
L’attaque a notamment touché des fichiers JavaScript utilisés par des clients de Brevo. Lorsqu’un site chargeait l’une de ces ressources, le code malveillant pouvait à son tour charger un script supplémentaire contrôlé par les attaquants.
Sansec a observé la diffusion du code malveillant le 14 septembre pendant plusieurs heures. Brevo a ensuite révoqué les accès concernés et indiqué que l’incident était résolu.
Le piège du faux CAPTCHA
Pour les visiteurs, l’un des mécanismes utilisés reposait sur ClickFix. Cette technique consiste à afficher une fausse alerte de sécurité ou une fausse vérification CAPTCHA afin de convaincre l’utilisateur d’effectuer lui-même une manipulation dangereuse.
Le scénario est particulièrement trompeur. Une page peut demander de vérifier que l’on est bien humain, puis inviter l’internaute à copier une commande et à la coller dans un terminal ou dans un autre outil de son ordinateur.
L’attaque ne repose donc pas uniquement sur le téléchargement automatique d’un logiciel malveillant. Elle cherche aussi à exploiter la confiance de l’utilisateur et à lui faire exécuter volontairement une commande présentée comme une simple étape de vérification.
Les administrateurs WordPress particulièrement visés
L’incident pouvait prendre une autre dimension lorsqu’un visiteur était connecté à WordPress avec des droits d’administration. Les analyses techniques publiées après l’attaque indiquent que le code diffusé via les ressources Brevo pouvait tenter d’installer un plugin malveillant sur le site.
Cette particularité illustre l’intérêt des attaques par chaîne d’approvisionnement. Le pirate n’a pas besoin de compromettre directement chaque site. Il lui suffit de trouver un point commun utilisé par un grand nombre de sites, puis de détourner ce point commun.
Pour les administrateurs, cela rappelle également l’importance de surveiller les extensions installées, les comptes disposant de privilèges élevés et les modifications inhabituelles intervenues pendant la période de l’incident.
Un incident distinct quelques jours plus tôt
L’affaire est d’autant plus notable que Brevo avait déjà signalé un autre incident de sécurité le 10 septembre. Selon le compte rendu officiel de l’entreprise, une compromission liée à la gestion du SAML SSO avait permis à un attaquant d’accéder à 138 comptes clients.
Brevo indique que six de ces comptes ont été utilisés pour envoyer des messages de phishing et que les contacts de 43 comptes ont été exportés. Les deux incidents sont toutefois distincts : celui du 10 septembre concernait l’accès à des comptes clients, tandis que l’attaque du 14 septembre visait l’infrastructure utilisée pour distribuer les ressources web.
Une attaque courte mais un impact important
La fenêtre de diffusion du code malveillant a été relativement courte : quelques heures seulement. Pourtant, son impact potentiel est important en raison du nombre de sites utilisant les composants concernés.
C’est l’une des caractéristiques les plus préoccupantes des attaques par chaîne d’approvisionnement. Une compromission ponctuelle chez un prestataire peut être répercutée automatiquement sur une multitude de clients, sans que ceux-ci aient modifié leur propre infrastructure.
Pour les gestionnaires de sites, l’incident rappelle aussi l’intérêt de surveiller les scripts tiers. Un formulaire, un outil statistique, un chat ou un service marketing peut sembler parfaitement banal, tout en constituant une dépendance technique capable de modifier ce qui est exécuté dans le navigateur.
Brevo a indiqué avoir révoqué les accès compromis et supprimé le mécanisme utilisé lors de l’attaque. Les administrateurs ayant utilisé les ressources concernées doivent surtout rester attentifs aux journaux de leur site et aux modifications inhabituelles constatées autour du 14 septembre.
Cette attaque montre enfin qu’un site peut être techniquement intact tout en devenant, pendant quelques heures, le relais d’une attaque extérieure. Dans un web où les services tiers sont omniprésents, la sécurité d’un site dépend donc aussi, en partie, de celle des prestataires dont il charge les ressources.