WordPress, 1 сентября 2026: CVSS 9.8 в теме Nokri и ещё четыре HIGH CVE

1 сентября 2026 года в NVD появились пять карточек Wordfence по WordPress: критичный сброс пароля без логина в теме Nokri и четыре HIGH в плагинах Support Genix, FS Poster, Gravity Forms и Frontend Admin. Это другая пачка, не та, что в дайджесте про cookie-баннер WPLP и miniOrange и не та, что в разборе 30 и 31 августа с ProfilePress.

Все пять в статусе Received: своей оценки NIST нет, баллы от CNA Wordfence. Патч Wordfence называет у всех пяти. Три без авторизации, два с роли subscriber и выше. Самая тяжёлая: тема Nokri (slug nokri), CVSS 3.1 9.8. Тема с ThemeForest, не из каталога wordpress.org.

Коротко: пять карточек 1 сентября

  • CVE-2026-18550, тема Nokri (slug nokri) <= 1.6.6. Сброс пароля любого пользователя, включая администратора, без логина: пустой reset-токен в nokri_reset_password(). Wordfence: CVSS 3.1 9.8. Патч: 1.6.7.
  • CVE-2026-19806, Support Genix (slug support-genix-lite) <= 1.4.52. Захват админки из-под subscriber через поддельный guest-токен на /sgnix/?p=. Wordfence: CVSS 3.1 8.8. Патч: 1.4.53.
  • CVE-2026-10195, FS Poster (slug fs-poster) <= 8.0.1. RCE из-под subscriber: путь FFmpeg уходит в exec() без нормальной авторизации REST. Wordfence: CVSS 3.1 8.8. Патч: 8.0.2.
  • CVE-2026-19513, Gravity Forms (slug gravityforms) <= 3.0.2. Загрузка файла без логина на публичной форме с Multiple Files. Wordfence: CVSS 3.1 8.1. Патч: 3.0.3.
  • CVE-2026-19952, Frontend Admin by DynamiApps (slug acf-frontend-form-element) <= 3.29.12. Удаление произвольного файла без логина, если форма видна всем. Wordfence: CVSS 3.1 7.5. Патч: 3.29.13.

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

NVD 1 сентября ещё в статусе Received. Для админа важны slug, уязвимая версия и наличие патча, а не ожидание балла NIST.

Два пакета из этой пятёрки лежат в каталоге wordpress.org. Support Genix Lite: около 2 тысяч активных установок, текущая 1.4.53, обновление каталога 27 августа 2026, 08:29 GMT. Frontend Admin: около 9 тысяч, текущая 3.29.13, обновление каталога 25 августа 2026, 08:22 GMT. Цифры установок: API wordpress.org на 1 сентября 2026, это округление каталога, не точный счётчик.

Nokri, FS Poster и Gravity Forms в каталоге wordpress.org нет. Обновление: ThemeForest / кабинет вендора, не wp plugin update из .org.

Приоритет простой. Сначала тема Nokri: гость меняет пароль администратора, логин не нужен. Затем Gravity Forms и Frontend Admin: тоже без логина, но с условиями (мультизагрузка на публичной форме; форма с who_can_see='all'). Support Genix и FS Poster требуют хотя бы subscriber. Если на сайте открыта регистрация, это почти тот же класс, что «без логина».

CVE-2026-18550: тема Nokri, пароль админа без логина

Карточка NVD опубликована 1 сентября 2026, источник Wordfence. Публикация в Wordfence Intelligence: 31 августа 2026, последнее обновление карточки: 1 сентября. Заголовок: Unauthenticated Privilege Escalation via token Parameter. CWE-269. Исследователь: d.v4n_s3c. Вендор в NVD: scriptsbundle. Продукт: Nokri – Job Board WordPress Theme, затронуты версии до 1.6.6 включительно.

Оценка одна, от CNA Wordfence: CVSS 3.1 9.8, вектор AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Сеть, низкая сложность, без привилегий, без клика жертвы. NIST 3.x на 1 сентября не выставил.

Механизм из advisory, не из разбора эксплойта: в nokri_reset_password() пустой токен, который прислал атакующий, совпадает с пустым или не заданным user meta sb_password_forget_token. Так сбрасывается пароль любого пользователя, включая администраторов. Это тема доски вакансий, не соседний плагин с похожим названием.

Патч Wordfence называет прямо: обновить до 1.6.7 или новее. В каталоге wordpress.org темы nokri нет, страница ThemeForest в references NVD: Nokri на ThemeForest, сайт вендора: nokriwp.com. Текущую витрину ThemeForest в эту статью не подставлял: ориентир для админа это номер 1.6.7 из карточки Wordfence, не скриншот магазина.

После патча смотреть не только версию темы. Сброс пароля, если его успели вызвать, оставляет чужую сессию. Обновление 1.6.7 само чужие cookie администратора не сбрасывает.

CVE-2026-19806: Support Genix, subscriber становится админом

Карточка NVD опубликована 1 сентября 2026, источник Wordfence. Публикация Wordfence: 31 августа 2026. Исследователь: Supakiad S. (m3ez), E-CQURITY (Thailand). CWE-287. CVSS 3.1 8.8, вектор AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H: нужна роль не ниже subscriber.

Точка входа из advisory: функция guest_ticket_login() и параметр p на публичном /sgnix/?p=<token>. Ключ AES-256-CBC для всего сайта собирается из трёх значений wp_rand(10, 99) и Unix-времени через md5(). Wordfence оценивает энтропию примерно в 19.5 бит, пространство около 729 тысяч кандидатов, перебор офлайн. IV детерминированный, тега аутентификации у шифртекста нет, на эндпоинте нет проверки прав, nonce и сессии. С одним легитимным guest-токеном как known-plaintext и оценкой времени активации плагина атакующий восстанавливает ключ, куёт токен на тикет администратора, а wp_set_auth_cookie() сажает его в админку.

Патч Wordfence: 1.4.53 или новее. На странице плагина в каталоге на 1 сентября 2026 как раз 1.4.53. Changelog 1.4.53 (23 августа 2026): «Security: Hardened guest ticket link authentication and token generation». Номера CVE в тексте релиза нет. В references NVD стоит changeset 3668350 в SVN support-genix-lite. Теги 1.4.50 и 1.4.51 Wordfence приводит как ещё уязвимый код.

CVE-2026-10195: FS Poster, RCE через путь FFmpeg

Карточка NVD опубликована 1 сентября 2026, источник Wordfence. Публикация Wordfence: 31 августа 2026. Исследователь: Sullo, Hack LLC. CWE-77 (Command Injection). CVSS 3.1 8.8, вектор тот же класс, что у Support Genix: PR:L, subscriber и выше.

Плагин коммерческий, slug fs-poster, в каталоге wordpress.org его нет. Advisory: путь FFmpeg недостаточно чистится и уходит в exec(), на REST-эндпоинтах нет нормальной проверки прав. Рабочий эксплойт в статью не нужен: для админа достаточно факта, что подписчик дотягивается до команды на сервере.

Патч Wordfence: 8.0.2 или новее. На официальном changelog FS Poster версия 8.0.2 датирована 10 июня 2026: «Improved input sanitization for FFmpeg path handling» и «Enhanced overall security and stability of the plugin». Номера CVE там нет. Позже вендор выложил 8.1.0 (3 августа 2026) с правкой REST permission validation и 8.1.1 (11 августа 2026), где ffmpeg гоняют через отдельную обёртку вместо exec/shell_exec. Для этой CVE Wordfence ставит планку 8.0.2. Если в кабинете вендора уже 8.1.x, это тоже новее уязвимой 8.0.1.

CVE-2026-19513: Gravity Forms, файл без логина

Карточка NVD опубликована 1 сентября 2026, источник Wordfence. Публикация Wordfence: 1 сентября 2026. Исследователи: Alex Thomas (Wordfence) и Wordfence Argus. CWE-434. CVSS 3.1 8.1, вектор AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H: без логина, но высокая сложность атаки.

Условие из advisory: на публичной форме есть поле File Upload с включённой Multiple Files. В GFAsyncUpload::upload() публичные hash состояния формы можно повторно использовать как hash продолжения чанка, а имя временного файла принимается до санитизации. Гость заливает полиглот PNG/PDF в выбранное публичное имя .php или .html во временный каталог Gravity Forms.

Wordfence отдельно пишет про веб-сервер. Если это Nginx или другой сервер, который не смотрит .htaccess, из PHP во временном каталоге может получиться выполнение кода. При установке и активации плагин кладёт туда .htaccess, и на Apache с AllowOverride это часто блокирует PHP, даже если файл уже записан. Тогда остаётся stored XSS той же зоны: жертва открывает URL залитого HTML. Патч файл сам не удаляет.

Патч Wordfence: 3.0.3 или новее. В официальном changelog Gravity Forms версия 3.0.3 датирована 20 августа 2026, первая строка: «Added security enhancements». Номера CVE в релизе нет. Позже вендор выпустил линейку 3.1.0 (25 августа 2026) и патчи 3.1.0.x. Для этой CVE Wordfence ставит планку 3.0.3. Обновление коммерческое, не из wordpress.org.

CVE-2026-19952: Frontend Admin, удаление файла без логина

Карточка NVD опубликована 1 сентября 2026, источник Wordfence. Публикация Wordfence: 31 августа 2026. Исследователь: nudien. CWE-22 (Path Traversal). Заголовок Wordfence: Unauthenticated Arbitrary File Deletion via Path Traversal via custom_directory_name Merge Tag.

Оценка CNA: CVSS 3.1 7.5, вектор AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. В том же тексте карточки последствия шире, чем «только чтение»: недостаточная проверка пути в move_folders, удаление произвольного файла, в том числе wp-config.php, из этого может получиться выполнение кода. Вектор с I:N и A:N при этом оставляет Wordfence как есть, свою оценку вместо CNA не подставляю.

Без логина это работает, если форма с who_can_see='all': нужный nonce берётся из отрисованной формы. Если все формы только для залогиненных, сценарий из advisory сам по себе не открывается гостю. Это не повод игнорировать патч: настройка видимости меняется в админке.

Патч Wordfence: 3.29.13 или новее. На странице плагина в каталоге на 1 сентября 2026 уже 3.29.13. Changelog 3.29.13 (25 августа 2026): «Improved handling of the custom upload directory setting», плюс проверки прав в действиях Post, Term, Product и валидация динамической загрузки формы. Номера CVE в релизе нет. В references NVD рядом с уязвимым тегом 3.29.10 стоит файл из тега 3.29.13.

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

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

Тема Nokri отдельно от плагинов:

wp theme list --fields=name,status,version | grep -Ei 'nokri'
wp plugin list --fields=name,status,version | grep -Ei 'support-genix-lite|fs-poster|gravityforms|acf-frontend-form-element'

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

  • nokri (тема): всё <= 1.6.6, цель 1.6.7 (Wordfence, ThemeForest);
  • support-genix-lite: всё <= 1.4.52, цель 1.4.53 (Wordfence, каталог wordpress.org);
  • fs-poster: всё <= 8.0.1, цель 8.0.2 (Wordfence, changelog вендора);
  • gravityforms: всё <= 3.0.2, цель 3.0.3 (Wordfence, changelog Gravity Forms);
  • acf-frontend-form-element: всё <= 3.29.12, цель 3.29.13 (Wordfence, каталог wordpress.org).

Из каталога wordpress.org обновляются два slug. Это меняет файлы плагинов:

wp plugin update support-genix-lite acf-frontend-form-element
wp plugin get support-genix-lite --field=version
wp plugin get acf-frontend-form-element --field=version

Если grep ничего не показал, эти пять CVE к сайту не относятся. Не обновляйте «на всякий случай» соседний helpdesk, другой job board или другой frontend-форм плагин с другим slug. Nokri, FS Poster и Gravity Forms из wp plugin update без своего источника не приедут: тема с ThemeForest, два плагина коммерческие.

Пользователи, uploads, wp-config.php

Для Nokri, Support Genix и любого сайта, где мог сработать сброс пароля или поддельный guest-токен: лишние администраторы. Команды только читают списки:

wp plugin list --fields=name,status,version
wp theme list --fields=name,status,version
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered,roles
wp user list --fields=ID,user_login,user_email,user_registered,roles --format=table

Ищите пользователя, которого не заводили, почту «мимо» организации, дату регистрации после включения уязвимой версии, лишнюю роль administrator. Пароли через WP-CLI не печатайте. Если Nokri стояла в уязвимой версии, разумный минимум после патча: сменить пароли администраторов и сбросить их сессии в админке WordPress, не оставлять старые cookie.

Загрузка файла в CVE-2026-19513: смотреть PHP и HTML в uploads, особенно в каталоге Gravity Forms. Ничего не удаляет, только показывает:

find wp-content -type f \( -name '*.php' -o -name '*.phtml' -o -name '*.phar' -o -name '*.html' -o -name '*.shtml' \) 2>/dev/null | grep -Ei 'uploads|gravity_forms|cache|mu-plugins'
find wp-content/uploads -type f \( -name '*.php' -o -name '*.phtml' -o -name '*.phar' -o -name '*.html' -o -name '*.shtml' \) 2>/dev/null

Если такой файл есть в uploads, не открывайте его в браузере. Копия для разбора, убрать из web-root, сменить пароли admin и хостинга, проверить mu-plugins, functions.php активной темы и cron. На Nginx отдельно проверить, исполняется ли PHP из wp-content/uploads: .htaccess Gravity Forms сам по себе там не работает.

Для CVE-2026-19952 сначала убедиться, что на месте служебные файлы корня сайта. Если wp-config.php пропал, сайт часто падает в установщик WordPress. Команда только проверяет наличие, ничего не чинит:

test -f wp-config.php && echo "wp-config.php на месте" || echo "wp-config.php нет"
ls -l wp-config.php .htaccess

Маркеры в access-логе nginx (путь к логу свой). Это не доказательство взлома, а способ понять, стучались ли:

sudo grep -E 'nokri_reset_password|sb_password_forget_token|/sgnix/|support-genix|fs-poster|gravityforms|gform_|acf-frontend-form-element|move_folders' /var/log/nginx/access.log | tail -n 200

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

  • Ищут Nokri в wp plugin list. Это тема, смотреть wp theme list.
  • Путают support-genix-lite с другим helpdesk. К этой CVE относится slug из карточки Wordfence.
  • Ставят Gravity Forms 3.0.3 и не смотрят временный каталог загрузок: патч не вычищает уже залитый PHP или HTML.
  • На Nginx решают, что «у Gravity Forms есть .htaccess, значит безопасно». Для этого CVE Wordfence как раз выделяет серверы, которые .htaccess не читают.
  • Читают changelog Frontend Admin 3.29.12 (там тоже были security-правки) и решают, что удаление файла уже закрыто. Wordfence чинит это в 3.29.13.
  • Ждут оценку NIST. Для обновления её не нужно: CNA, slug и патч уже есть.

Вывод

1 сентября 2026 NVD разложил пять карточек Wordfence: тема Nokri и четыре плагина. Срочность разная. Nokri это сброс пароля администратора без логина, CVSS 9.8. Gravity Forms и Frontend Admin тоже без логина, но с условием на форме. Support Genix и FS Poster требуют subscriber, зато это захват админки и RCE. Патч назван у всех пяти: 1.6.7, 1.4.53, 8.0.2, 3.0.3, 3.29.13.

Рабочий минимум: сверить slug темы и четырёх плагинов, обновить из каталога то, что там есть, остальное взять у вендора. Для Nokri и Support Genix пройти администраторов. Для Gravity Forms пройти uploads. Для Frontend Admin проверить, что wp-config.php на месте. Эксплойт в статье не нужен: версия, лишний administrator и PHP в медиатеке говорят достаточно.

Источники


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