The Invisible Breach: How a Cloudflare API Key Compromise Turned Brevo into a Malware Distributor

By Pierluigi Paganini | September 18, 2026

In the modern digital ecosystem, the principle of "trusted supply chain" is the bedrock upon which the internet functions. Businesses rely on third-party vendors for everything from marketing automation to customer communication, assuming that the code served by these providers is secure and verified. However, a catastrophic supply-chain attack involving the French marketing giant Brevo (formerly Sendinblue) has shattered this illusion, demonstrating how easily a single mismanaged credential can weaponize the infrastructure of a trusted service provider against more than 100,000 downstream websites.

The breach, which occurred in mid-September 2026, serves as a masterclass in how sophisticated threat actors can bypass traditional security perimeters by operating at the "edge" of a network, rendering standard server-side integrity checks completely obsolete.


The Main Facts: Anatomy of a Supply-Chain Heist

Brevo, a platform serving global heavyweights including Louis Vuitton, eBay, and Michelin, became the epicenter of a massive malware distribution campaign between September 10 and September 14, 2026.

The attack was not a single event but a two-stage escalation. Initially, threat actors compromised individual customer accounts by exploiting a vulnerability in Brevo’s SAML Single Sign-On (SSO) system. This allowed them to pivot into 138 client accounts, including that of the prominent cryptocurrency hardware wallet manufacturer, Trezor. While the company moved to mitigate this initial breach, the attackers had already successfully exfiltrated contact data from 43 accounts and utilized six accounts to orchestrate a widespread phishing campaign.

However, the more alarming development occurred four days later. By leveraging a hardcoded, long-lived Cloudflare API key—which had been left exposed within Brevo’s application source code—the attackers gained administrative-level access to the company’s Cloudflare environment. This access was absolute: it allowed the hackers to deploy malicious Cloudflare Workers, modify DNS records, and alter traffic routing without triggering a single server-side alert. Because the malicious code was injected at the "edge"—the point where the internet meets the user—the origin servers and the files hosted on them remained pristine. This "ghost-in-the-machine" approach meant that standard integrity monitoring tools found nothing amiss, as the attack existed entirely in the transport layer.


Chronology of the Incident

Understanding the rapid progression of this attack is essential for any organization auditing its own third-party dependencies.

Brevo Supply-Chain Attack Infected Over 100,000 Websites
  • September 10, 2026: Attackers exploit a vulnerability in Brevo’s SAML SSO implementation. They gain unauthorized access to 138 accounts. Within hours, they export sensitive contact data from 43 accounts and initiate phishing operations, specifically targeting customers of Trezor.
  • September 11–13, 2026: Brevo’s security team identifies the unauthorized access and begins remediation, believing the threat has been neutralized.
  • September 14, 2026 (16:05 UTC): The attackers return, this time bypassing the SSO vulnerability entirely by using a hardcoded, full-permission Cloudflare API key. They deploy a custom Cloudflare Worker.
  • September 14, 2026 (16:10 – 20:13 UTC): The "Window of Exposure." During this time, the malicious Worker intercepts traffic destined for customers of Brevo. It modifies JavaScript files on the fly, injecting malicious code into the websites of over 100,000 Brevo clients.
  • September 14, 2026 (20:13 UTC): The attack is identified and halted.
  • September 15, 2026: Brevo confirms the incident is contained, having revoked the compromised API key, purged the malicious Workers, and flushed all edge caches.

Supporting Data: The Mechanics of the Malware

The sophistication of the malware deployed during this campaign suggests a high degree of planning. The security firm Sansec, which provided deep analysis of the incident, identified that the malware was designed to be highly selective, focusing on specific targets to avoid detection by automated security scanners and web crawlers.

The Two-Fold Payload

The malware operated through a dual-pronged approach:

  1. The "Human" Hook: For general visitors, the malicious script injected a sophisticated "prove you are human" prompt. This was a classic social engineering tactic designed to trick users into executing a malicious command in their terminal, effectively granting the attackers a foothold on the user’s local machine.
  2. The WordPress Admin Infiltration: The attack was particularly devastating for WordPress administrators. If an administrator was logged into their site while visiting a page running the compromised Brevo widget, the script would automatically trigger the installation of a malicious plugin.

Stealth and Persistence

The injected plugin, later identified on VirusTotal as "Web Media Optimizer," was designed for maximum stealth. It would deliberately hide itself from the standard WordPress plugin management interface and persist within the must-use (mu-plugins) folder, ensuring it remained active even if the user attempted to disable or delete suspicious plugins. Once installed, it established a communication line with a command-and-control (C2) server, waiting for further instructions or additional payloads.


Official Responses and Remediation

In their official notice of incident, Brevo admitted that the security failure stemmed from a failure of "secret management." The presence of a long-lived, high-privilege API key in the source code provided the attackers with the "keys to the kingdom."

"Because the Worker rewrote responses at the edge and removed security headers such as Content-Security-Policy," Brevo stated in their public disclosure, "our origin servers and files remained unmodified, and standard integrity checks did not detect the change."

Brevo has since mandated a rotation of all API keys and has implemented stricter secret management policies, including the use of temporary, scoped credentials that automatically expire. They have also initiated a full audit of their CI/CD pipelines to ensure no other hardcoded credentials exist. However, the company has yet to clarify whether the initial SSO breach and the subsequent Cloudflare compromise were orchestrated by the same threat actor, a detail that remains a critical question for forensic investigators.


Implications for the Broader Ecosystem

This incident carries profound implications for the digital landscape, shifting the focus of supply-chain security from "server-side integrity" to "edge-layer visibility."

Brevo Supply-Chain Attack Infected Over 100,000 Websites

1. The Myth of "Clean" Code

For years, IT teams have relied on file integrity monitoring (FIM) to detect unauthorized changes to their websites. This attack proves that FIM is insufficient. If the malware is injected by a CDN or a third-party service provider at the edge, the website’s source code will appear perfectly legitimate. Organizations must now consider monitoring the output of their web pages as they appear to the user, not just the files residing on the origin server.

2. The Danger of "Trust by Default"

The use of sendibt1.com as a C2 domain was a stroke of strategic genius by the attackers. Because this domain is a legitimate part of Brevo’s infrastructure used for email tracking, security teams were caught in a trap: blocking the domain would break essential business functionality for their websites, but allowing it meant letting the malware communicate with its masters. This illustrates the "dependency paradox"—we rely so heavily on third-party infrastructure that we lose the ability to defend ourselves against its compromise.

3. The Need for Proactive Client-Side Defense

Organizations must adopt a more aggressive posture toward third-party scripts. This includes:

  • Subresource Integrity (SRI): Ensuring that scripts loaded from CDNs have not been altered.
  • Content Security Policy (CSP): Implementing strict policies that restrict where scripts can be loaded from and what they can do once they are executed.
  • Monitoring Administrative Sessions: WordPress admins should be particularly wary of the state of their sessions. The fact that the malware targeted active sessions suggests that session management and multi-factor authentication (MFA) are more critical than ever.

Final Guidance for Affected Organizations

If your organization utilizes Brevo widgets, forms, or tracking scripts, the "all-clear" signal from the vendor should not lead to complacency. Security experts recommend a thorough post-incident audit:

  • Review Access Logs: Specifically check for unusual plugin installations or modifications between September 14 and September 15.
  • Manual File Inspection: Do not rely on the WordPress admin dashboard to tell you what plugins are installed. Manually inspect the wp-content/mu-plugins directory via FTP or SSH.
  • Credential Rotation: If you suspect an administrator may have been logged in during the exposure window, rotate all associated credentials immediately.
  • Endpoint Scans: If any staff member reported seeing a "human verification" prompt during that window, treat their workstation as compromised. Perform a full disk scan and, if necessary, re-image the machine.

The Brevo incident is a stark reminder that in the age of cloud-native applications, security is not just about what you control—it is about what you trust. As we move forward, the "trust but verify" mantra must evolve into a more rigid framework of "zero-trust dependencies," where every third-party script is treated as a potential vector for compromise until proven otherwise.

Back To Top