WordPress, 30 и 31 августа 2026: RCE в ProfilePress и ещё четыре HIGH CVE в плагинах

30 и 31 августа 2026 года в NVD появились пять HIGH-записей по плагинам WordPress. Это другая пачка, не та, что в дайджесте Wordfence и Patchstack за 29 августа и не та, что в семи карточках WPScan за 29 августа. Во всех пяти references нет ссылок Wordfence.

Все пять без авторизации. Самая тяжёлая: ProfilePress (slug wp-user-avatar), неавторизованная установка и активация произвольного плагина. VulnCheck в NVD ставит CVSS 4.0 9.2 (Critical). Патч назван у всех пяти. В каталоге wordpress.org на 31 августа 2026 его нет только у geotargetingwp.

Коротко: пять карточек 30 и 31 августа

  • CVE-2026-66047, ProfilePress (slug wp-user-avatar) < 4.17.2. Неавторизованный RCE через AJAX-обработчик ppress_connect_process. NVD / VulnCheck: CVSS 4.0 9.2. Патч: 4.17.2 (26 августа 2026).
  • CVE-2026-76585, Customer Reviews for WooCommerce (slug customer-reviews-woocommerce) < 5.118.0. Stored XSS без логина через параметр comment. CVSS 8.8. Патч: 5.118.0.
  • CVE-2026-81660, Groundhogg (slug groundhogg) < 4.5.13. Stored XSS без логина через необязательные поля веб-формы, отрабатывает в админке. CVSS 8.8. Патч: 4.5.13 (10 июля 2026).
  • CVE-2026-75133, Keep Backup Daily (slug keep-backup-daily) < 2.1.4. Гость запускает дамп MySQL через kbd_cron_process и забирает файл из uploads. NVD / VulnCheck: CVSS 4.0 8.7. Патч: 2.1.4 (24 мая 2026).
  • CVE-2026-14307, geotargetingwp (slug geotargetingwp) < 3.5.6.2. Reflected XSS без логина в AJAX-ответах с HTML content-type. CVSS 7.1. WPScan пишет фикс 3.5.6.2; в каталоге wordpress.org плагина нет.

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

NVD 31 августа ещё в статусе Received: своей оценки NIST нет, в карточках стоят баллы CISA-ADP и VulnCheck. Это не делает записи «черновиком». Для админа важны slug, уязвимая версия и наличие патча, а не то, дописал ли NVD enrichment.

ProfilePress в каталоге: около 100 тысяч активных установок, текущая версия 4.17.2. Customer Reviews for WooCommerce: около 80 тысяч, в каталоге уже 5.119.0. Groundhogg: около 2 тысяч, 4.7.1. Keep Backup Daily: около 300, 2.1.4. Цифры активных установок: API wordpress.org на 31 августа 2026.

Приоритет простой. Сначала ProfilePress: это выполнение PHP от имени веб-сервера без логина, пусть и с brute-force 32-битного токена. Затем Keep Backup Daily: полная копия базы в публичном uploads. XSS ниже по срочности, но stored XSS в отзывах и CRM живёт в базе, пока отзыв или заявку не почистили. geotargetingwp без страницы в каталоге: wp plugin update его не подтянет.

CVE-2026-66047: ProfilePress, установка чужого плагина

Карточка NVD опубликована 31 августа 2026, источник VulnCheck. Описание: плагин до 4.17.2, не включая, даёт гостю поставить и включить произвольный плагин. Вектор: AJAX-обработчик ppress_connect_process, слабый 32-битный connect token, параметр запроса file с URL, который контролирует вызывающая сторона. После тихой установки PHP исполняется от пользователя веб-сервера. CWE-306 и CWE-330. Исследователи по advisory VulnCheck: Jon Bytyqi, Leon Bytyci. Дата advisory: 30 августа 2026.

Оценки расходятся по шкалам, не по сути. VulnCheck в NVD: CVSS 4.0 9.2, вектор AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H. В выборке мониторинга рядом лежит CVSS 3.1 8.1 с тем же AC:H (нужен перебор токена). NIST 3.x на 31 августа не выставил. Массовых атак карточка не фиксирует.

Патч: 4.17.2. На changelog вендора за 26 августа 2026 формулировка «Improved security of license upgrader», без номера CVE. На странице плагина та же 4.17.2, обновление каталога 26 августа 10:46 GMT. После патча смотреть список плагинов: лишний active, которого редакция не ставила, это уже не «XSS в отзыве».

CVE-2026-76585: отзывы WooCommerce и stored XSS

NVD: 30 августа 2026, источник WPScan. Публикация карточки WPScan: 28 августа. Тип XSS, CWE-79, CVSS 8.8 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H), CISA-ADP. Исследователь: rasul. Гость отправляет отзыв через один из эндпоинтов, содержимое не санитизируется. Скрипт лежит в отзыве и срабатывает, когда жертва его открывает (UI:R).

Патч: 5.118.0. Changelog: «minor security improvements (credit to rasul)». В каталоге на 31 августа уже 5.119.0 (27 августа 22:18 GMT). После обновления патч старые отзывы сам не вычищает: смотреть неопубликованные и свежие review, не открывать подозрительные в админке «на всякий случай».

CVE-2026-81660: Groundhogg, XSS из веб-формы в админку

NVD: 30 августа, WPScan: 28 августа. Заголовок WPScan: Unauthenticated Stored XSS via Web Form Dropdown/Radio Field. CWE-79, CVSS 8.8, тот же вектор с UI:R. Исследователь: Artus KG. Необязательные поля формы не проверяются и не экранируются, значение сохраняется и потом отдаётся в административной зоне привилегированному пользователю.

Патч: 4.5.13 от 10 июля 2026. В changelog прямо: «SECURITY Fixed non-required dropdown and radio fields not validating inputs correctly. Credit to Artus KG». Текущая в каталоге: 4.7.1 (20 августа). Если форма на фронте принимает заявки от гостей, после обновления пройти свежие контакты и submissions, не кликать по странным значениям в карточке.

CVE-2026-75133: Keep Backup Daily, дамп базы без логина

NVD: 31 августа, источник VulnCheck, advisory 30 августа. Плагин до 2.1.4, не включая. Гость дергает публичный параметр kbd_cron_process без аутентификации, плагин пишет полный дамп MySQL. Имя файла частично предсказуемо: имя базы, ограниченный случайный диапазон, Unix timestamp. Файл лежит в uploads, откуда его можно скачать. CWE-306. Исследователь: Elymaro (Aurélien Bourdois). CVSS 4.0 8.7. В выборке мониторинга рядом CVSS 3.1 7.5 (C:H/I:N/A:N): утечка, не запись.

Патч: 2.1.4 от 24 мая 2026. Changelog: защита uploads и индексирования, проверка имени, sanitization, timestamp, непредсказуемое имя файла, благодарность Elymaro. На wordpress.org версия так и осталась 2.1.4, около 300 установок. После обновления: дампы в uploads, access-лог на kbd_cron_process. Если дамп мог уйти, это уже ротация паролей БД, ключей, application password, не только «поставить 2.1.4».

CVE-2026-14307: geotargetingwp, reflected XSS в AJAX

NVD: 30 августа, WPScan: 28 августа. Плагин geotargetingwp до 3.5.6.2, не включая. Несколько параметров отражаются в AJAX-ответе с HTML content-type без санитизации и экранирования. Гость подсовывает скрипт, жертва должна отправить подготовленный запрос (UI:R, Scope Changed). CVSS 7.1. Исследователь: andrew gomez (reddarkin). WPScan: Fixed in 3.5.6.2.

На 31 августа 2026 страница wordpress.org/plugins/geotargetingwp/ отвечает редиректом на поиск, SVN и readme на ps.w.org отсутствуют. Это не тот плагин, что GeoTargeting Lite (slug geotargeting, в каталоге 1.3.6.1). WPScan всё равно мапит CVE на slug geotargetingwp. Из каталога 3.5.6.2 не приедет. Если slug есть на диске: сверить версию вручную, обновление только из дистрибутива вендора. Отдельного changelog вендора в references нет.

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

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

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

wp plugin list --fields=name,status,version | grep -Ei 'wp-user-avatar|customer-reviews-woocommerce|groundhogg|keep-backup-daily|geotargetingwp'

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

  • wp-user-avatar: всё < 4.17.2, цель 4.17.2 с wordpress.org;
  • customer-reviews-woocommerce: всё < 5.118.0, цель 5.118.0 или новее (в каталоге 5.119.0);
  • groundhogg: всё < 4.5.13, цель 4.5.13 или новее (в каталоге 4.7.1);
  • keep-backup-daily: всё < 2.1.4, цель 2.1.4;
  • geotargetingwp: всё < 3.5.6.2 по WPScan, из каталога не обновить.
wp plugin update wp-user-avatar customer-reviews-woocommerce groundhogg keep-backup-daily
wp plugin get wp-user-avatar --field=version
wp plugin get customer-reviews-woocommerce --field=version
wp plugin get groundhogg --field=version
wp plugin get keep-backup-daily --field=version

geotargetingwp в эту команду не входит: пакет в API каталога не находится. Если grep его показал, версию смотреть на диске, обновление не из wordpress.org.

Пользователи, плагины, uploads

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

wp plugin 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 не печатайте.

Keep Backup Daily и любая утечка дампа: SQL в uploads. Ничего не удаляет, только показывает:

find wp-content/uploads -type f \( -name '*.sql' -o -name '*.sql.gz' -o -name '*.zip' -o -name '*kbd*' \) 2>/dev/null

Если дамп лежит в uploads, не скачивайте его по публичному URL «проверить, отдаётся ли». Копия в закрытое место, убрать из web-root, сменить пароль БД и application password.

ProfilePress RCE это установка плагина, не классический file upload в медиатеку. После произвольного плагина всё равно смотреть PHP вне каталогов плагинов:

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

Если такой файл есть в uploads, не открывайте его в браузере. Копия для разбора, убрать из web-root, сменить пароли admin и хостинга, проверить mu-plugins, functions.php активной темы и cron.

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

sudo grep -E 'ppress_connect_process|kbd_cron_process|wp-user-avatar|customer-reviews-woocommerce|groundhogg|keep-backup-daily|geotargetingwp' /var/log/nginx/access.log | tail -n 200

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

  • Путают slug geotargetingwp и geotargeting. Второй плагин к этой CVE не относится.
  • Обновляют ProfilePress и не смотрят список плагинов: патч не удаляет уже поставленный чужой пакет.
  • Ставят Keep Backup Daily 2.1.4 и оставляют старый SQL в uploads.
  • Считают stored XSS закрытой после bump версии. Скрипт в отзыве или в поле формы остаётся, пока запись жива.
  • Ждут geotargetingwp из каталога. Страницы плагина там нет, 3.5.6.2 оттуда не приедет.

Вывод

30 и 31 августа 2026 NVD разложил пять плагинных CVE: три от WPScan, две от VulnCheck. Все без логина. Срочность разная: ProfilePress это RCE через установку плагина, Keep Backup Daily это вынос базы, три XSS ниже, но две из них stored. Патч назван у всех пяти, в каталоге его нет только у geotargetingwp.

Рабочий минимум: сверить пять slug, четыре пакета обновить из wordpress.org, geotargetingwp решить отдельно, пройти администраторов и список плагинов, для бэкапа отдельно пройти uploads. Эксплойт в статье не нужен: версия, лишний active-плагин, дамп SQL в медиатеке и PHP в uploads говорят достаточно.

Источники


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