Brevo подтвердила, что злоумышленники использовали украденный API-ключ Cloudflare для создания вредоносного Worker, который изменял содержимое на периферии сети доставки и внедрял скрипты ClickFix на сайты компании и в файлы JavaScript, которые клиенты подключают на своих сайтах. Воздействие продолжалось около пяти с половиной часов 14 сентября 2026 года — с 16:07 до 20:30 по всемирному времени, согласно последующему расследованию Brevo.
Изменения затронули страницы на доменах brevo.com, sendinblue.com, login/account/my/onboarding.brevo.com и sibforms.com, а также скрипты форм Brevo, интерфейс Brevo Conversations и загрузчик Brevo SDK, который клиенты добавляют на свои сайты. Таким образом, угроза не ограничилась посетителями доменов компании, а распространилась на сайты, использующие её программные компоненты.
Как были обойдены средства защиты?
Brevo пояснила, что украденный ключ был долгосрочным, обладал полными правами на учётную запись и был встроен в исходный код приложения. Это позволило злоумышленникам создавать Cloudflare Workers, маршруты и записи DNS в доменах Brevo без срабатывания предупреждений. Вредоносный Worker также переписывал ответы на периферии и удалял заголовки безопасности, включая Content-Security-Policy, тогда как исходные серверы и оригинальные файлы не изменялись; поэтому проверки целостности файлов не обнаружили изменения.
Компания считает, что ключ мог быть скомпрометирован ещё в конце августа, однако заявила, что не нашла свидетельств вредоносной активности до периода атаки. После обнаружения инцидента она удалила Worker и его маршруты, отозвала ключ и учётные данные, созданные злоумышленниками, удалила учётные данные, встроенные в код, убрала имена хостов, контролируемые злоумышленниками, а затем очистила периферийные кэши содержимого.
От ClickFix до бэкдора WordPress
По данным Sansec, воздействие могло затронуть до 100 000 сайтов, использующих пострадавшие компоненты Brevo. Посетитель видел поддельную страницу проверки Cloudflare, после чего ему показывались инструкции ClickFix, побуждавшие выполнить команду в Windows. На сайтах WordPress, где был подключён затронутый интерфейс Brevo, скрипт проверял, вошёл ли посетитель как администратор, и пытался загрузить вредоносный плагин из архива под названием Web Media Optimizer.
BleepingComputer выяснила, что плагин работает как постоянный бэкдор и загрузчик JavaScript, скрывает себя из списка плагинов WordPress, копирует себя в каталог обязательных плагинов и периодически подключается к серверу, контролируемому злоумышленниками. Он также содержал статический ключ аутентификации, который можно было использовать для создания действительной сессии входа в учётную запись администратора WordPress без знания пароля.
Что следует проверить операторам?
Brevo заявила, что app.brevo.com, её API, инфраструктура доставки почты и данные учётных записей клиентов не пострадали. Тем не менее администраторам WordPress, которые 14 сентября посещали затронутый сайт, оставаясь вошедшими в систему как администраторы, следует проверить плагины, установленные или активированные в тот день, удалить все незнакомые плагины и сменить пароли административных учётных записей при обнаружении признаков компрометации.
Редакционный комментарий: Инцидент показывает, что целостности оригинальных файлов недостаточно, когда злоумышленник может изменять ответы на уровне CDN. Практический риск здесь возник из-за широких полномочий Cloudflare и распространения сторонних скриптов через сайты клиентов, тогда как связь между этой атакой и отдельным инцидентом с SSO, о котором Brevo сообщила 10 сентября, остаётся неустановленной; компания не ответила на вопросы BleepingComputer о возможной связи между двумя инцидентами.