WordPress, 9 сентября 2026: RCE с роли Author в FireBox

9 сентября 2026 года в NVD вышла одна high-карточка по плагину WordPress: CVE-2026-76801. Источник Wordfence, статус NVD: Received, оценки NIST нет. Это не ядро. Плагин FireBox (slug firebox): выполнение кода на сервере с роли Author и выше. Патч Wordfence называет прямо: 3.1.11. Это другая выборка, чем дайджест 8 сентября с Event Tickets и Live Composer.

Оценку выставил CNA Wordfence: CVSS 3.1 8.8 HIGH, вектор AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. PR:L, не PR:N: гость с улицы эту CVE сам не открывает. Зато Author на сайте с попапами это штатная роль, не экзотика. На установках, которые поднимали плагин с версии ниже 3.1.10, мигратор сам выдаёт Author возможности edit_fireboxes и publish_fireboxes. Карточка Patchstack на 9 сентября 2026 в поиске и в базе не находится, выдумывать её не буду.

Коротко: одна карточка 9 сентября

  • CVE-2026-76801, FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment, slug firebox, <= 3.1.10. Authenticated (Author+) Remote Code Execution to Privilege Escalation. PHP-условия кампании и regex-чёрный список в Executer::allowedToRun(), значения без санитизации через REST-мета firebox_meta. Wordfence: CVSS 3.1 8.8 HIGH, CWE-269. Исследователь: Wordfence PRISM. Патч Wordfence: 3.1.11.

Почему это важно на практике

FireBox стоит на попапах, exit-intent, сборе почты и брошенной корзине. Это не «комментарий с XSS». Карточка описывает выполнение кода на сервере. Заголовок Wordfence отдельно добавляет privilege escalation: после RCE роль Author это уже не потолок. Не путать с дырой без логина: вход нужен, но порог Author, не администратор.

Поверхность по API wordpress.org на 9 сентября 2026: slug firebox есть в каталоге, текущая 3.1.13, обновление 7 сентября 2026, 07:54 GMT, около 7 000 активных установок, автор FirePlugins. Патч этой CVE Wordfence ставит на 3.1.11. В changelog wordpress.org у 3.1.11 дата 26 августа 2026. Номер в NVD пришёл позже, чем фикс в каталоге. Если slug уже на 3.1.11 или 3.1.13, эту CVE вы закрыли раньше. Если сайт заморожен на 3.1.10 и ниже, карточка ещё живая.

Публикация NVD: 9 сентября 2026, 03:17 UTC. Wordfence: Publicly Published 8 сентября 2026, 13:51 UTC, Last Updated 9 сентября 2026, 02:27 UTC. NIST своей оценки на 9 сентября 2026 не выставил. Для обновления она не нужна: есть slug, уязвимая версия и патч CNA.

CVE-2026-76801: RCE с роли Author в FireBox

Карточка NVD: 9 сентября 2026, 03:17 UTC, источник security@wordfence.com, статус Received. Описание совпадает с Wordfence. Во всех версиях по 3.1.10 включительно уязвимо выполнение кода через функцию value. Причина в advisory: regex-чёрный список в Executer::allowedToRun() обходится и не закрывает функции ядра WordPress. Wordfence как примеры называет wp_insert_user, update_option и file_put_contents. Значения PHP-условий кампании пишутся через REST-мета firebox_meta без санитизации. Аутентифицированный Author и выше выполняет код на сервере. CWE-269 (Improper Privilege Management). Вендор в карточке: FirePlugins. Продукт: FireBox. Slug Wordfence и каталога: firebox.

Отдельный абзац advisory стоит прочитать буквально. На сайтах, которые обновлялись с версии ниже 3.1.10, Migrator::preserveCampaignRoleAccess() сам выдаёт ролям возможности edit_fireboxes и publish_fireboxes. Комментарий в теге 3.1.10 около строки 606 это подтверждает: до смены модели прав править кампании мог любой с edit_posts, мигратор копирует это на новые capabilities, чтобы «ни у кого доступ не отнять». Author с edit_posts после такого апгрейда получает вход в эту CVE. Это не «нужен администратор» и не «только свежая установка 3.1.10».

В references NVD исходники тега 3.1.10: Inc/Core/FB/Meta.php (около 411: register_meta для firebox_meta, show_in_rest, auth_callback через edit_fireboxes), Inc/Core/Migrator.php (около 606), Inc/Framework/Inc/Base/Conditions/Conditions/PHP.php (около 36), Inc/Framework/Inc/Base/Executer.php (около 231) и changeset 3666018. Рабочий payload в статье не нужен. Для админа достаточно факта: PHP-условия кампании до 3.1.10 принимали код, который чёрный список не отсекал, и писать это мог Author с edit_fireboxes.

Патч Wordfence: Update to version 3.1.11, or a newer patched version. В changelog wordpress.org у 3.1.11 дата 26 августа 2026 и прямая строка: custom PHP в display conditions и PHP Scripts выполняется только если у автора кампании есть отдельное право «run PHP»; администраторам оно есть по умолчанию, остальным ролям его нужно выдать специально. Это совпадает с карточкой. Текущая в каталоге на 9 сентября 2026: 3.1.13 от 7 сентября 2026. Для этой CVE цель не ниже 3.1.11; обновление из каталога подтянет 3.1.13. Не путать FireBox с другими popup-плагинами: проверяйте slug firebox в wp plugin list, не название в меню. Если этого slug нет, CVE к сайту не относится.

Что проверить WP-CLI

Команды для сервера, где есть WP-CLI, из каталога сайта или с --path=. Пользователь сайта, не root. Перед обновлением: копия файлов и базы.

Есть ли slug и какая версия:

wp plugin list --fields=name,status,version
wp plugin get firebox --field=version

Ориентиры по источникам, не по догадке:

  • firebox: всё <= 3.1.10 уязвимо, патч Wordfence 3.1.11, каталог на 9.09.2026 отдаёт 3.1.13;
  • пустой ответ wp plugin get firebox: эта карточка к сайту не относится.

Обновление из каталога, если slug стоит и версия ниже патча:

wp plugin update firebox
wp plugin get firebox --field=version

Ожидаемый результат после апдейта из каталога: FireBox не ниже 3.1.11, практически 3.1.13. Не удаляйте плагин первым шагом, если хватает update. Не ставьте «замену» с неизвестного сайта. Пакет из wordpress.org, кабинет ThemeForest здесь ни при чём.

После обновления имеет смысл посмотреть, кому осталось право на PHP в кампаниях. Changelog 3.1.11 как раз про отдельное permission, не про «все Author как были». Список ролей и пользователей только читает, ничего не меняет:

wp user list --role=author --fields=ID,user_login,user_email,user_registered,roles
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered,roles
wp role list --fields=name,role

Логи и файлы

Прямого file upload в advisory нет. PHP в wp-content/uploads имеет смысл как следствие RCE, не как вектор этой CVE. Команда только читает список, ничего не удаляет. Запускайте из корня сайта.

find wp-content/uploads -type f \( -name '*.php' -o -name '*.phtml' -o -name '*.phar' \) 2>/dev/null

Непустой PHP в uploads это повод смотреть дату, владельца и access-лог, а не сразу rm без копии. Маркеры в access-логе nginx (путь к логу свой). Это не доказательство взлома, а способ понять, стучались ли. Точный REST-путь карточка не публикует как готовый URL, угадывать payload в grep не буду. Для ориентира достаточно slug и мета-ключа из advisory:

sudo grep -Ei 'firebox_meta|/wp-json/.*firebox|wp-admin/admin-ajax.php' /var/log/nginx/access.log | tail -n 200

Если стоял FireBox ниже 3.1.11 и были учётки Author, после патча стоит сверить администраторов: дата регистрации, лишняя роль administrator, почта «мимо» организации. Пароли через WP-CLI не печатайте. Карточка не утверждает массовую эксплуатацию, и я её тоже не утверждаю.

Где обычно ломается реакция

  • Видят PR:L и откладывают: «это не без логина». Author на магазине с попапами это обычная роль. На апгрейде с версии ниже 3.1.10 мигратор сам расширяет ей edit_fireboxes.
  • Смотрят 8.8 вместо 9.8 и решают, что можно в понедельник. Выполнение кода на сервере с роли Author как раз не про понедельник.
  • Ищут другой popup-плагин по названию в меню и не смотрят slug firebox. Карточка привязана к этому пакету, не к «любому попапу WooCommerce».
  • Видят в каталоге 3.1.13 и считают, что «CVE сегодняшняя, значит все уязвимы». Патч 3.1.11 в changelog с 26 августа 2026. Сегодняшняя дата в NVD не равна дыре на текущем релизе каталога.
  • Оставляют 3.1.10, потому что 3.1.11 в changelog ещё и про WP Rocket. Строка про PHP permission там же, это и есть фикс этой CVE.
  • Ждут карточку Patchstack или оценку NIST. Для обновления их не нужно: CNA, slug и патч уже есть.

Вывод

9 сентября 2026 NVD разложил одну плагинную CVE: FireBox <= 3.1.10, CVSS 8.8, Author+, выполнение кода и дальше privilege escalation. Патч Wordfence 3.1.11 стоит в changelog с 26 августа 2026, каталог на сегодня уже 3.1.13. Patchstack в references нет.

Рабочий минимум: сверить slug firebox, обновить из каталога если версия ниже 3.1.11, посмотреть Author и PHP в uploads как следствие, не как вектор. Эксплойт в статье не нужен: версия и лишний administrator говорят достаточно.

Источники и ссылки


Комментарии загружаются…