невзлом

К сведению · Registration Form for WooCommerce

CVE-2026-119075 — ThemeGrill Registration Form ≤1.1.4 PE на checkout, fix 1.1.5

· CVE-2026-119075

← Простая версия для всех

Суть

Privilege escalation: путь регистрации на checkout не применял allow-list ролей формы (в отличие от My Account). Unauth мог при создании customer-аккаунта на checkout получить elevated role вплоть до Administrator → полный захват WP. CNA Wordfence (лента NVD/EUVD): versions through 1.1.4; PR:N. CVSS 9.8. Параметры запроса и фрагменты кода в публикацию не выносить.

Затронуто и исправлено

КомпонентУязвимо (CNA)Закрытие
Registration Form for WooCommerce≤ 1.1.4≥ 1.1.5

Slug: registration-form-for-woocommerce. wordpress.org: 1,000+ Active Installations, Current Version 1.1.5. Changelog 1.1.5 (06.11.2026): «Prevented privilege escalation via the user role submitted at checkout». Отдельно: в 1.1.3 уже был другой фикс PE (form ID) — это не CVE-2026-119075.

Эксплуатация

  • CISA KEV — нет.
  • Подтверждённых атак в ленте / на странице плагина — нет.

Как проверить

wp plugin get registration-form-for-woocommerce --fields=name,status,version
# закрыто патчем: version ≥ 1.1.5; митигация: status ≠ active
# Error = плагин не установлен (нормально при исключении ложного совпадения)

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

UI: Плагины → карточка Registration Form for WooCommerce. Multisite — версию смотреть в Network Admin. Также: WooCommerce → Настройки → Аккаунты и конфиденциальность — включено ли создание аккаунта при оформлении заказа (если выключено и плагин не трогает другой путь — риск ниже, но патч всё равно нужен).

Как исправить

  1. Staging → обновить до ≥ 1.1.5 с wordpress.org (wp plugin update registration-form-for-woocommerce или UI «Обновления»). Per-plugin auto-updates в WordPress по умолчанию выключены. После обновления при PHP opcache / page cache — сбросить opcache и кэш приложения, иначе короткое окно со старым кодом.
  2. Smoke: checkout с созданием аккаунта + My Account registration (если используется); убедиться, что кастомные поля ThemeGrill на месте.
  3. Prod: бэкап БД+файлов → update → smoke → аудит Administrator (дата создания, неизвестные логины).
  4. Массово / Bedrock / образ / DISALLOW_FILE_MODS / хостинг-Toolkit (Plesk/cPanel и т.п.): UI и wp plugin update могут не сработать. Путь: constraint (например wpackagist-plugin/registration-form-for-woocommerce) → composer update / пересборка / прогон Toolkit → выкат. После деплоя на каждом стенде сверить wp plugin get registration-form-for-woocommerce --fields=name,status,version (не только lock/тег образа: volume/symlink может отдать старые файлы). Автообновление панели не считать закрытием без сверки версии на сайте. Не считать парк закрытым по версии другого ThemeGrill-плагина.

Если обновить нельзя

Отдельного официального hotfix кроме 1.1.5 нет. Compensating: deactivate registration-form-for-woocommerce или отключить создание аккаунта при checkout в WooCommerce, пока ≥1.1.5 не встанет. WAF как замену патчу не обещать. Неофициальные сборки — запрещены стандартом.

Признаки взлома и что делать

IoC вендор/CNA не публиковали. Ориентир: Administrator, созданные в окне ≤1.1.4; аномалии вокруг checkout+registration. При признаках компрометации: обновить плагин; сменить пароли elevated; проверить плагины/темы/mu-plugins; сессии/ключи приложений; логи доступа за период; одного обновления мало.

Источники