
Brevo faced a supply-chain incident on September 14, 2026, after attackers abused a long-lived Cloudflare API key to inject malicious JavaScript into Brevo-owned pages and customer-embedded scripts. Sansec reported that more than 100,000 websites may have loaded affected Brevo assets during a roughly four-to-five-hour window. Brevo later confirmed, according to BleepingComputer, that the compromised key had full account permissions and had been hardcoded in application source code.
The attacker used Brevo's trusted script delivery path to show fake Cloudflare verification prompts and attempt WordPress plugin installation when logged-in administrators visited affected sites. For defenders, the lesson is blunt: third-party JavaScript is production code, and cloud edge credentials can become a mass distribution channel for malware.
cdn.sendibt1.com, later associated with the malicious infrastructure.sendibt1.com subdomains.The important technical detail is that the origin files did not need to change. Brevo said the attacker used Cloudflare edge capabilities to rewrite responses, create routes, and add DNS records. That matters because ordinary origin-file integrity checks may miss edge-side manipulation.
The most likely affected organizations are websites that embedded Brevo forms, the Brevo Conversations widget, or Brevo SDK loader scripts during the September 14 exposure window. Sansec specifically pointed to Brevo-hosted pages and customer sites that loaded:
https://cdn.brevo.com/js/sdk-loader.jshttps://cdn.brevo.com/js/brevo-conversations.jssibforms.combrevo.com and related domainsWordPress administrators have a second exposure path. If an administrator was logged in while loading an affected page, the script reportedly attempted to upload and activate a plugin from attacker-controlled infrastructure. Sansec could not recover the plugin, but BleepingComputer later reported that a sample named "Web Media Optimizer" acted as a persistent backdoor and JavaScript loader.
End users who saw a fake Cloudflare verification page and followed its paste-and-run instructions should be treated as potentially compromised. That behavior fits the ClickFix pattern: a social engineering flow that convinces victims to execute a command locally under the pretense of completing a security check.
The currently supported chain is a cloud control-plane compromise rather than a direct compromise of every downstream website.
| Phase | Observed behavior | Defender takeaway |
|---|---|---|
| Initial access | Brevo said attackers obtained a long-lived Cloudflare API key with full account permissions. | Long-lived edge/CDN keys should be treated as tier-zero credentials. |
| Control-plane abuse | Attackers created Cloudflare Workers, routes, and DNS records across Brevo zones. | Monitor control-plane changes with the same urgency as production code deploys. |
| Payload delivery | Brevo scripts and pages loaded malicious JavaScript from sendibt1.com subdomains. | Third-party scripts need runtime allowlisting and drift detection. |
| Execution | Visitors were shown ClickFix instructions telling them to run commands. | Browser-side social engineering can become endpoint execution. |
| Persistence | Logged-in WordPress admins were targeted with a plugin installation flow. | Admin browsing sessions can trigger server-side persistence attempts. |
| Command and control | BleepingComputer reported plugin callbacks to attacker-controlled infrastructure. | Hunt for both initial script loads and later plugin-based traffic. |
MITRE ATT&CK mapping should remain conservative:
| Tactic | Technique | Why it applies |
|---|---|---|
| Initial Access | Trusted Relationship / Supply Chain Compromise | Customers loaded scripts from a trusted marketing provider. |
| Defense Evasion | Impair Defenses | Brevo said the Worker removed security headers such as Content-Security-Policy. |
| Execution | User Execution | ClickFix relies on persuading users to run commands. |
| Persistence | Server Software Component | The WordPress path attempted plugin installation. |
| Command and Control | Web Service | Reported plugin behavior contacted attacker-controlled web endpoints. |
Start with the September 14, 2026 window, then widen if logs show suspicious cache hits or delayed client activity.
Look for requests to suspicious sendibt1.com subdomains and payload paths:
cdn.sendibt1.comcdn2.sendibt1.comcdn3.sendibt1.comcdn4.sendibt1.comcdn9.sendibt1.comcdn10.sendibt1.comcdn11.sendibt1.com/f.js/api/v1/0044d4a/api/v1/e08a3c4/api/v1/4aff112?tk=/api/v1/b832c14?e=Do not block the apex sendibt1.com blindly. Sansec warned that the apex is used for legitimate Brevo email tracking, while the malicious activity was associated with subdomains.
Search for plugin upload and activation activity around the exposure window:
POST /wp-admin/update.php?action=upload-pluginGET /wp-admin/plugins.php?action=activateWeb Media Optimizerwp-content/mu-plugins/Prioritize endpoints whose users reported fake Cloudflare verification prompts. Hunt for:
cmd.exe, mshta, wscript, cscript, Terminal, or shell processesFor organizations operating similar infrastructure, review:
index=web OR index=proxy earliest="09/14/2026:16:00:00" latest="09/15/2026:00:00:00"
("cdn*.sendibt1.com" OR "sendibt1.com/f.js" OR "/api/v1/4aff112" OR "/api/v1/b832c14")
| stats count min(_time) as firstSeen max(_time) as lastSeen by src_ip, user, host, url
| convert ctime(firstSeen) ctime(lastSeen)
Treat this as an example pattern. Field names and wildcard behavior vary by proxy, SIEM, and log normalization.
sendibt1.com subdomains.wp-content/mu-plugins/ for unexpected persistence.The Brevo incident is a clean example of supply-chain amplification. Attackers did not need to compromise 100,000 individual sites. They targeted a provider whose JavaScript was already trusted by customers, then used a cloud edge control plane to modify what users received.
That should change how teams think about SaaS widgets, marketing tags, chat components, and analytics loaders. These scripts often run on checkout pages, account portals, lead forms, and admin sessions. They sit at a sensitive intersection of browser trust, identity, customer data, and business operations.
The incident also shows why secret-management failures are rarely just "developer hygiene" issues. A hardcoded, full-permission Cloudflare key became a production attack primitive. Short-lived tokens, least privilege, secret scanning, and control-plane alerting are not paperwork; they are blast-radius controls.
Finally, the WordPress plugin path is especially concerning. If confirmed in a given environment, this moves the incident from transient visitor exposure into persistent site compromise. Site owners should not stop after verifying that Brevo's scripts are now clean. They need to check whether their own application state changed while the malicious script was active.
Attackers abused Brevo's trusted script delivery path to inject malicious JavaScript into Brevo-owned pages and customer-embedded components on September 14, 2026. Brevo later confirmed, according to BleepingComputer, that the attackers had obtained a long-lived Cloudflare API key with broad permissions.
Sansec estimated that more than 100,000 customer websites may have loaded affected Brevo assets during the incident window. The exact number of visitors or successful infections is not publicly confirmed.
ClickFix is a social engineering technique where a fake verification or troubleshooting page tells users to paste and run a command. In this incident, visitors reportedly saw fake Cloudflare verification prompts that could lead to malware infection if followed.
Check whether your site loaded Brevo scripts on September 14, 2026, then review WordPress logs for plugin upload or activation activity around the incident window. Also compare plugin directories on disk against the WordPress admin UI because malicious plugins may hide themselves.
Sansec reported that the malicious hosts stopped resolving on September 15, 2026, and Brevo said it removed the malicious Worker and revoked the compromised key. Downstream WordPress sites may still be compromised if the plugin installation path succeeded.
Start with logs: identify Brevo script usage, search for malicious sendibt1.com subdomains, and check WordPress plugin activity. If a suspicious plugin is found, preserve evidence, remove persistence, rotate administrator credentials, and inspect endpoints used by logged-in admins.
Brevo said the attack rewrote responses at the Cloudflare edge and did not modify origin files. That means checks limited to origin files may look clean while users still receive altered content from the edge.
Lucas Oliveira. Brevo Supply Chain Attack: 100K Sites Served ClickFix. 18 Sept 2026. Invaders Cybersecurity. https://invaders.ie/resources/blog/supply-chain-attack/brevo-supply-chain-attack-100k-sites-served-clickfix.
Subscribe via RSS.
Written by
Research
A DevOps engineer and cybersecurity enthusiast with a passion for uncovering the latest in zero-day exploits, automation, and emerging tech. I write to share real-world insights from the trenches of IT and security, aiming to make complex topics more accessible and actionable. Whether I’m building tools, tracking threat actors, or experimenting with AI workflows, I’m always exploring new ways to stay one step ahead in today’s fast-moving digital landscape.
Get the latest cybersecurity insights delivered to your inbox.