B2BPRO.KZ | Рекламное агентство в Алматы

Уязвимость Bricksforge CVE-2026-85097 уже используют в атаках: что проверить владельцу сайта на WordPress

Мужчина-разработчик за ноутбуком, над ноутбуком парит расколотый замок, на столе объёмное слово WordPress

Если на вашем сайте стоит плагин Bricksforge версии 3.1.8.9 или старше, обновите его до 3.1.8.10 или новее сегодня же, а затем проверьте сайт на следы взлома. Уязвимость CVE-2026-85097 позволяет постороннему человеку без пароля загрузить на сайт PHP-файл и выполнить его, а массовые атаки на неё начались 7 октября 2026 года.

Типичная картина выглядит так. Сайт собрали полгода назад на конструкторе Bricks, форму заявки сделали через дополнение, а потом про плагины никто не вспоминал: сайт работает, заявки приходят. Для такого сайта выход патча ничего не меняет, пока кто-то не нажмёт кнопку «Обновить». Автоматические сканеры не ждут, когда владелец прочитает новости, и перебирают адреса сайтов круглые сутки.

Что случилось с Bricksforge и кого это касается

Bricksforge — это дополнение к конструктору Bricks Builder для WordPress, которое, среди прочего, добавляет расширенные формы. В версиях до 3.1.8.9 включительно нашли критическую уязвимость в обработке файлов, прикреплённых к форме. Ей присвоен номер CVE-2026-85097, а оценка опасности зависит от источника: у Patchstack она составляет 10.0 из 10, у Wordfence — 9.8.

Хронология по публикации Patchstack такая: первую попытку эксплуатации компания зафиксировала 7 октября 2026 года в 21:47 по UTC, разбор уязвимости вышел 8 октября, а 12 октября о проблеме написал SecurityWeek. Исправленная версия — 3.1.8.10. По оценке Patchstack, плагином пользуются около 6000 сайтов. Для рынка это немного, но каждый такой сайт, не получивший обновления, остаётся открытым для атаки.

Кого касается проблема: любого, кто строил сайт на Bricks и подключал Bricksforge. Если вы заказывали сайт у подрядчика и не знаете, что внутри, проверить это можно за пару минут, о чём ниже.

Чем опасна загрузка файла без пароля

Уязвимость типа «неаутентифицированная загрузка произвольного файла» — это ошибка, при которой сайт принимает файл от любого посетителя и позволяет ему оказаться там, где сервер исполняет код. Злоумышленнику не нужен ни логин, ни пароль, ни доступ к админке.

Результат называется удалённым выполнением кода (RCE): атакующий запускает на вашем сервере собственные команды. На практике это может означать установку скрытого входа в сайт, рассылку спама с вашего домена, подмену страниц, встраивание чужих рекламных ссылок в выдачу или кражу данных из заявок. Поисковики такой сайт нередко помечают как опасный, и восстановление репутации занимает недели.

Patchstack описывает механику так: плагин проверяет тип файла при первой загрузке, но позже на этапе отправки формы доверяет данным, которые прислал сам клиент, в частности полю url внутри параметра temporaryFileUploads. Злоумышленник загружает файл, который выглядит как картинка, но содержит PHP-код, а затем указывает в форме адрес с PHP-расширением. Плагин записывает содержимое по этому адресу, и код начинает выполняться.

Как идут атаки: что видно по данным Patchstack

Атаки автоматические, а не прицельные. Patchstack наблюдал 63 уникальных IP-адреса, при этом шесть самых активных дали около 46 процентов запросов. Почти все запросы шли на адрес /wp-json/bricksforge/v1/form_submit, ещё один — на /wp-admin/admin-ajax.php. Примерно в 95 процентах случаев серверный путь указывал на файл .gif или .png, а адрес назначения — на что-то с PHP.

Атакующие пробовали альтернативные расширения вроде .phtml и .php5, менять регистр букв (.PHP, .pHp), кодировать расширение один и два раза. Это значит, что простая защита «запретить загрузку файлов .php» от такого набора не спасёт, если она написана в лоб.

Patchstack не приписывает кампанию одной группировке: источники адресов смешанные — дата-центры, облака, VPN и обычные домашние провайдеры. Блокировать отдельные IP бессмысленно, надо закрывать саму дыру.

Как проверить, установлен ли Bricksforge и какая у него версия

Узнать версию плагина можно в админке за минуту. Порядок действий:

  1. Откройте в панели WordPress раздел «Плагины» — «Установленные».
  2. Найдите в списке Bricksforge и посмотрите номер версии под названием.
  3. Если версия 3.1.8.9 или ниже, плагин уязвим. Если 3.1.8.10 и выше, дыра закрыта, но историю атак всё равно стоит проверить.
  4. Если плагина в списке нет, вас эта конкретная проблема не касается.
  5. Если доступа к админке нет, попросите подрядчика прислать скриншот списка плагинов с версиями.

Не полагайтесь на то, что админка сама вовремя напомнит об обновлении: для дополнений от сторонних разработчиков уведомление может не появиться или прийти с опозданием. Номер версии лучше сверять вручную. На проектах B2BPRO.KZ мы смотрим список плагинов отдельным пунктом сопровождения, а не только по автоматическим уведомлениям.

Что делать сегодня: порядок действий

Порядок важен: сначала резервная копия, потом обновление, потом проверка. Обновление не удаляет уже загруженные злоумышленником файлы, поэтому одного клика недостаточно.

  1. Сделайте резервную копию файлов и базы данных. Если сайт уже взломан, копия всё равно нужна: по ней можно разобраться, что произошло.
  2. Обновите Bricksforge до 3.1.8.10 или новее. Официальная рекомендация Patchstack именно такая. Если обновление через админку не предлагается, скачайте свежую версию из личного кабинета на сайте разработчика.
  3. Если обновить прямо сейчас нельзя, Patchstack предлагает правило RapidMitigate для этой уязвимости, которое блокирует попытки на уровне трафика, не меняя код плагина. Это временная мера, а не замена обновлению. Если же формы нужны не срочно, на время деактивируйте плагин.
  4. Проверьте папки загрузок на лишние PHP-файлы, как описано в следующем разделе.
  5. Просмотрите журналы сервера за период с 7 октября. Обратитесь за этим к хостинг-провайдеру или администратору.
  6. Смените пароли администраторов WordPress, доступы по FTP и к базе данных, если нашли подозрительные файлы или сомневаетесь в чистоте сайта.

Как понять, что сайт уже взломан

Следы взлома по этой уязвимости ищут в двух местах: в журнале запросов и в файловой системе. Из рекомендаций Patchstack можно составить такой список признаков:

  • запросы на /wp-json/bricksforge/v1/form_submit, где присутствует параметр temporaryFileUploads;
  • вызовы bricksforge_regenerate_nonce, после которых сразу идут загрузка и отправка формы;
  • повторные отправки, в которых перебираются расширения, кодировки или регистр букв;
  • неожиданные PHP-файлы в папке /wp-content/uploads/bricksforge/tmp/ и в других каталогах загрузок, в первую очередь файлы с именем вида login_admin_*.php;
  • обращения к только что созданным PHP-файлам в каталогах загрузок.

В папке загрузок PHP-файлов быть не должно вообще: там хранят картинки, документы и архивы. Любой файл с расширением .php, .phtml или .php5 среди медиафайлов — повод остановиться и разобраться. Не удаляйте его сразу: сначала сохраните копию и посмотрите, когда файл создан, а уже потом убирайте. Дата создания подскажет, связан ли он с атакой, и поможет понять, что ещё мог сделать злоумышленник.

Если вредоносный файл найден, одного удаления мало. Нужно искать другие изменения: новых пользователей-администраторов в разделе «Пользователи», незнакомые плагины, правки в файлах темы и в wp-config.php. Безопасный путь в такой ситуации — восстановление из чистой копии до 7 октября с последующим обновлением всех компонентов.

Таблица: что делать в зависимости от ситуации

Ситуация Что делать Срочность
Bricksforge не установлен Ничего по этой уязвимости. Проверьте остальные плагины на обновления В плановом порядке
Версия 3.1.8.10 и выше, обновили до атаки Проверить папку uploads на лишние PHP-файлы для спокойствия На этой неделе
Версия 3.1.8.9 и ниже, подозрительных файлов нет Копия, обновление до 3.1.8.10 или новее, проверка журналов с 7 октября Сегодня
Версия 3.1.8.9 и ниже, обновить нельзя прямо сейчас Правило RapidMitigate или временное отключение плагина, затем обновление Немедленно
Нашли PHP-файлы в папках загрузок Сохранить копию, восстановить чистую версию сайта, сменить пароли, обновить всё Немедленно

Что сделать, чтобы следующая дыра не стала проблемой

Дыры в плагинах появляются регулярно, и защита строится не вокруг одной уязвимости. Четыре меры помогают пережить и эту, и следующие.

Первая мера — дисциплина обновлений. Закрепите за конкретным человеком еженедельную проверку списка плагинов и тем. Критические обновления безопасности нельзя откладывать на «когда будет время»: между публикацией патча и массовой атакой проходят дни, а иногда часы. Как безопасно обновлять сайт, мы разбирали на примере обновления WordPress 7.1.3.

Вторая мера — ограничение прав на файлы. Руководство по усилению защиты на developer.wordpress.org советует делать файлы плагинов, а также каталогов wp-admin и wp-includes доступными для записи только вашей учётной записи, а не веб-серверу, и приводит рабочие значения прав: 755 для каталогов и 644 для файлов. Там же показано, как запретить редактирование PHP-файлов из админки константой DISALLOW_FILE_EDIT. Но сама документация честно предупреждает, что это не помешает атакующему загрузить вредоносные файлы на сайт, поэтому такие меры дополняют обновления, а не заменяют их.

Третья мера — запрет исполнения PHP в каталоге загрузок на уровне веб-сервера. Эту настройку в руководстве по hardening не описывают, это общепринятая практика администрирования, которую делает хостинг-провайдер или администратор сервера. Она ломает именно такой сценарий атаки: даже если файл с PHP-кодом оказался в папке uploads, сервер откажется его запускать. Попросите подрядчика проверить, включена ли такая защита на вашем хостинге.

Четвёртая мера — резервные копии вне сайта. Руководство WordPress советует хранить регулярные снимки всей установки, то есть файлов ядра и базы данных, в надёжном месте и сохранять несколько версий. Тогда, если взлом заметили через несколько недель, у вас остаётся копия до заражения. Копия на том же сервере, который взломали, защитой не считается.

Сколько стоит игнорировать обновления

Ответ зависит от сайта. Для визитки без заявок ущерб — это репутация и время на восстановление. Для интернет-магазина и сайта с рекламой в Казахстане простой означает потерянные заказы и сгоревший рекламный бюджет: объявления продолжают показываться, а сайт недоступен или помечен браузером как опасный. К этому добавляются расходы на лечение и повторную проверку в поисковых системах.

На проектах B2BPRO.KZ мы чаще всего видим одну и ту же причину таких историй: сайт сдали заказчику «под ключ» и никто не взял на себя сопровождение. Плагин не обновлялся месяцами, а о проблеме узнали от клиента, которому браузер показал предупреждение. Регулярное сопровождение стоит заметно дешевле, чем разовое лечение взломанного сайта. Если у вас нет человека, который отвечает за обновления, имеет смысл передать это специалистам: подробности о разработке и сопровождении сайтов под ключ есть на нашей странице.

Что проверить кроме Bricksforge

Эта история повод пересмотреть весь набор плагинов, а не только один. Просмотрите список и ответьте себе на несколько вопросов: какие плагины действительно нужны, а какие остались после экспериментов; какие давно не получали обновлений от автора; какие платные и потому обновляются не из каталога WordPress.

Лишние плагины лучше удалить, а не просто отключить: отключённый плагин остаётся в файловой системе, и если в нём есть уязвимость, до неё иногда можно добраться напрямую. То же касается старых тем. Чем короче список компонентов, тем меньше поверхность атаки и тем проще за ней следить. Раз в квартал полезно устраивать ревизию: выписать каждый плагин, понять, какую задачу он решает на сайте, и убрать тот, чью функцию можно заменить штатными средствами WordPress или темы.

Отдельно проверьте формы на сайте. Всё, что принимает данные от посетителей, особенно файлы, — самое чувствительное место. Если форме не нужна загрузка файлов, отключите её. Формы заявок в Казахстане, как правило, собирают имя и телефон, а вложения в них нужны редко.

Почему формы с загрузкой файлов — главная точка риска

Форма с загрузкой файлов — это единственное место, где посторонний человек может положить что-то на ваш сервер. Всё остальное на сайте он лишь читает. Поэтому разработчики плагинов обязаны проверять тип файла, его расширение, содержимое и место, куда он сохраняется, на каждом этапе, а не один раз при загрузке. Ровно этот принцип нарушен в случае Bricksforge: проверка была на первом шаге, а на втором плагин поверил данным от клиента.

Чем меньше на сайте функций, принимающих файлы от незнакомых людей, тем меньше шансов, что очередная ошибка в плагине превратится в проблему. Заявке в отдел продаж почти всегда достаточно имени, телефона и короткого сообщения. Загрузка резюме, чертежей или документов оправдана только там, где это действительно нужно бизнесу, и такую форму стоит держать под особым наблюдением.

Как поговорить с подрядчиком, который делал сайт

Если сайт собирал внешний исполнитель, задайте ему несколько конкретных вопросов и попросите письменный ответ. Это обычная управленческая гигиена, а не недоверие.

  • Какие плагины и какие версии стоят на сайте сейчас и когда их обновляли в последний раз?
  • Кто отвечает за обновления после сдачи проекта и входит ли это в договор?
  • Где хранятся резервные копии, как часто они делаются и когда последний раз проверялось восстановление?
  • Запрещено ли выполнение PHP в каталоге загрузок и какие права выставлены на файлы?
  • Есть ли на сайте формы с загрузкой файлов и действительно ли они нужны?

Если на эти вопросы никто не может ответить, у сайта нет владельца в смысле безопасности. Именно такие сайты первыми попадают под массовые автоматические атаки: сканеру всё равно, чей это бизнес и насколько он крупный, ему важна только версия плагина.

Памятка для руководителя: пять минут на проверку

Если времени мало, пройдите по короткому списку. Он не заменяет полноценный аудит, но отсекает самые опасные ситуации.

  1. Откройте список плагинов и проверьте версию Bricksforge, если он есть.
  2. Убедитесь, что у всех плагинов нет ожидающих обновлений, особенно помеченных как исправления безопасности.
  3. Спросите у хостинга или подрядчика, есть ли свежая резервная копия не старше суток и где она лежит.
  4. Посмотрите раздел «Пользователи» и убедитесь, что среди администраторов нет незнакомых учётных записей.
  5. Назначьте ответственного, который раз в неделю будет повторять эти четыре шага.

Одна проверка раз в неделю занимает десять-пятнадцать минут и избавляет от самого неприятного сценария, при котором о взломе сайта вы узнаёте от клиента или из выдачи поисковой системы. Если в проверке что-то вызвало сомнение, лучше сразу вызвать специалиста, чем гадать: пока вы выясняете, уязвимый плагин продолжает принимать запросы.

Частые вопросы

Как узнать, что мой сайт на WordPress использует Bricksforge?

Откройте в админке раздел «Плагины» — «Установленные» и найдите Bricksforge в списке. Рядом с названием указана версия. Если плагина нет, эта уязвимость вас не касается. Если доступа в админку нет, попросите разработчика прислать скриншот списка плагинов с номерами версий: это занимает пару минут и снимает вопрос.

Достаточно ли просто обновить плагин до 3.1.8.10?

Нет, обновление закрывает дыру, но не удаляет файлы, которые уже могли загрузить. После апдейта проверьте папку /wp-content/uploads/ на неожиданные PHP-файлы, особенно в подкаталоге bricksforge/tmp, и просмотрите журналы запросов с 7 октября 2026 года. Если сайт был уязвим и стоял без защиты, проверка обязательна.

Можно ли защитить сайт, если обновить плагин прямо сейчас не получается?

Да, на время. Patchstack предлагает правило RapidMitigate для CVE-2026-85097, которое блокирует попытки эксплуатации на уровне трафика, не меняя код плагина. Другой вариант — временно деактивировать Bricksforge. Это временные меры: как только появится возможность, нужно обновиться до 3.1.8.10 или новее.

Что значит оценка 10.0 или 9.8 по шкале CVSS?

CVSS — международная шкала опасности уязвимостей от 0 до 10, где значения от 9 считаются критическими. Две оценки для одной проблемы получились потому, что Patchstack и Wordfence считают их по-разному: 10.0 и 9.8 соответственно. На практике разница не важна: уязвимость критическая, а атаки уже идут.

Нужно ли менять пароли после обновления?

Если следов взлома не нашли, срочной необходимости нет, но смена паролей администраторов не помешает. Если нашли подозрительные PHP-файлы или новых администраторов, пароли WordPress, FTP и базы данных меняйте обязательно, а сам сайт лучше восстановить из чистой копии до 7 октября.

Прокрутить вверх