CVE-2026-14526: AIWU / AI Copilot ≤ 1.5.6 — неавторизованный admin и захват WordPress

8 августа 2026 в NVD появилась запись CVE-2026-14526: в плагине WordPress AI Copilot – Content Generator (AIWU) до версии 1.5.6 включительно неавторизованный посетитель может создать пользователя с ролью administrator и захватить сайт. Оценка CVSS 3.1: 9.8 (Critical). Источник отчёта: Wordfence.

Плагин на wordpress.org идёт под slug ai-copilot-content-generator, в админке часто фигурирует как AIWU: workflow builder, чатбот, AI-формы, генерация контента. Если на фронте висит шорткод [aiwu-form] или публичный чатбот, nonce для запросов утекает в общий JS, и «защита» через nonce перестаёт быть барьером для анонима.

Что подтверждено официально

По описанию CVE (Wordfence → NVD, published 2026-08-08):

  • затронуты все версии плагина до 1.5.6 включительно;
  • нужна сетевая доступность сайта, привилегии атакующего: none, взаимодействие пользователя: none;
  • вектор: сохранение и выполнение вредоносного workflow с узлом действия wp_create_user и role=administrator;
  • эксплуатация упрощается на страницах, где в публичный JS попадает WAIC_DATA.waicNonce (шорткод [aiwu-form] или публичный чатбот);
  • класс проблемы: CWE-269 (некорректное управление привилегиями / authorization bypass).

В trac плагина Wordfence указывает на конкретные места (теги 1.5.4 и 1.5.6): выдача ассетов и nonce, form views, контроллер workflow, блок действия wp_create_user. Это не «теоретическая» дыра в абстракции, а цепочка из публичного nonce + недостаточной проверки прав на workflow-роуте.

Почему nonce здесь не спасает

WordPress nonce хорошо работает, когда секрет остаётся в зоне доверия (админка, залогиненный пользователь с capability). Если значение waic-nonce кладут в глобальный объект WAIC_DATA.waicNonce на любой странице с формой или чатом, любой гость может прочитать его из HTML/JS и подставить в запрос. Проверка nonce тогда подтверждает только «запрос похож на легитимный с этой страницы», а не «это администратор».

Отдельно в описании CVE: workflow-маршрут не проверяет должным образом, что пользователь имеет право создавать пользователей и назначать роль administrator. В связке получается классический privilege escalation без входа в wp-admin.

Что это значит на практике

Последствия для владельца сайта стандартные для RCE-уровня захвата, даже если «RCE в PHP» здесь нет: новый администратор, смена паролей, установка бэкдор-плагина, правки functions.php, SEO-спам, кража данных форм и e-commerce, рассылка с вашего домена.

Особенно неприятно, что уязвимость бьёт по типичному сценарию «поставили AI-чатбот на главную». Именно публичный виджет расширяет поверхность атаки. Сайт без вывода [aiwu-form] и без публичного чата формально может быть в другом положении, но полагаться на это без проверки версии и кода нельзя: CVE формулирует риск для 1.5.6 и ниже как полный takeover при доступном workflow-пути с публичным nonce.

Версии: уязвимые и что на wordpress.org сейчас

По NVD/Wordfence затронуты версии до 1.5.6 включительно. На момент подготовки материала stable tag плагина на wordpress.org: 1.5.9 (changelog: 1.5.9 от 26.07.2026, 1.5.8 от 19.07.2026).

В changelog 1.5.8 указано security-hardening: ограничение protected AJAX actions точными capability и nonce, allowlist для анонимных actions, плюс закрытие части границ workflow (import/validation/storage). Это выглядит как линия усиления безопасности, но отдельной строки «fixed CVE-2026-14526» в публичном changelog нет. Ориентир по официальной записи уязвимости: всё, что ≤ 1.5.6, считать скомпрометируемым; обновление минимум до актуального 1.5.9 с wordpress.org, если плагин оставляете.

Если в сети или в пересказах ещё звучит «патча нет», сверяйте с NVD: верхняя граница affected в карточке CVE: 1.5.6. Для рабочих сайтов критерий простой: версия ≤ 1.5.6 = срочные меры, не ждать «идеального патч-ноута».

Что сделать прямо сейчас

1. Проверить, установлен ли плагин и какая версия

В админке: Плагины → AIWU / AI Copilot – Content Generator. Через WP-CLI на сервере:

wp plugin list --status=active,inactive --fields=name,status,version | grep -i 'ai-copilot\|aiwu'
wp plugin get ai-copilot-content-generator --field=version

Если команды нет, смотрите заголовок Version в файле плагина wp-content/plugins/ai-copilot-content-generator/ (readme / основной PHP-файл).

2. Обновить или убрать

  1. Сделайте резервную копию файлов и базы.
  2. Обновите плагин до актуальной версии с wordpress.org (сейчас 1.5.9), либо деактивируйте и удалите, если AIWU не критичен для бизнеса.
  3. После обновления сбросьте кеш (плагин кеша, CDN, object cache), чтобы фронт не отдавал старый JS с прежним nonce-сценарием по инерции кеша страниц.
wp plugin update ai-copilot-content-generator
wp plugin get ai-copilot-content-generator --field=version
wp cache flush

3. Проверить пользователей-администраторов

Ищите лишние учётки с role administrator, неожиданные даты регистрации, почты «мимо» вашей организации:

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

Любой неизвестный admin: немедленно смените пароли всех администраторов, завершите сессии, отзовите application passwords и проверьте плагины, mu-plugins, тему на чужие правки.

4. Посмотреть логи на следы workflow / AJAX

В access-логах веб-сервера ищите всплески POST к admin-ajax.php и маршрутам плагина вокруг workflow в период, когда на сайте стояла уязвимая версия. Точные action-имена зависят от сборки плагина; полезны общие маркеры: admin-ajax.php, ai-copilot, aiwu, waic, workflow.

# пример для nginx access.log (пути подставьте свои)
sudo grep -E 'admin-ajax\.php|aiwu|waic|workflow' /var/log/nginx/access.log | tail -n 200

Полный рабочий эксплойт в статье не приводится. Для разбора инцидента достаточно факта лишнего admin + аномальных POST + версии ≤ 1.5.6.

Если подозреваете, что уже зашли

  1. Переведите сайт в maintenance / отключите публичный чат и формы AIWU.
  2. Смените пароли admin, FTP/SFTP, хостинг-панели, БД; ротируйте соли в wp-config.php только осознанно (сбросит cookies всех пользователей).
  3. Сверьте список плагинов и файлы в wp-content/plugins, mu-plugins, uploads на недавние PHP-вставки.
  4. Проверьте cron (wp cron event list), пользователей, опции siteurl/home, редиректы в .htaccess / nginx.
  5. При подтверждённом взломе: восстановление из чистого бэкапа до инцидента часто надёжнее «лечения на живую».

Если нужна спокойная диагностика WordPress «снаружи» (кто админы, какие плагины, следы), разумно делать это на копии или с остановкой публичного AI-виджета, а не оставлять уязвимую 1.5.6 под трафиком.

Как не наступать на те же грабли с AI-плагинами

  • Не выносите на анонимный фронт действия, которые меняют пользователей, роли, плагины, опции.
  • Nonce ≠ authorization: capability checks обязательны на сервере для каждого чувствительного action.
  • Публичный чатбот и «AI forms» увеличивают attack surface: обновляйте такие плагины в первую очередь.
  • Держите инвентарь плагинов и версий (WP-CLI, мониторинг обновлений), а не «поставил и забыл».
  • После critical CVE по privilege escalation всегда аудируйте список администраторов, даже если «в логах тихо».

Вывод

CVE-2026-14526 (CVSS 9.8) в AI Copilot – Content Generator / AIWU ≤ 1.5.6: неавторизованный захват сайта через workflow с wp_create_user role=administrator, на фоне публичного WAIC_DATA.waicNonce. Карточка опубликована 8 августа 2026 (Wordfence → NVD). Если плагин стоит и версия 1.5.6 или ниже, обновляйтесь до актуальной с wordpress.org (на момент материала 1.5.9) или удаляйте, проверяйте администраторов и логи. Не полагайтесь на «у нас же nonce».

Источники


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