CVE-2026-119075 — ThemeGrill Registration Form ≤1.1.4 PE на checkout, fix 1.1.5
Суть
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,rolesUI: Плагины → карточка Registration Form for WooCommerce. Multisite — версию смотреть в Network Admin. Также: WooCommerce → Настройки → Аккаунты и конфиденциальность — включено ли создание аккаунта при оформлении заказа (если выключено и плагин не трогает другой путь — риск ниже, но патч всё равно нужен).
Как исправить
- Staging → обновить до ≥ 1.1.5 с wordpress.org (
wp plugin update registration-form-for-woocommerceили UI «Обновления»). Per-plugin auto-updates в WordPress по умолчанию выключены. После обновления при PHP opcache / page cache — сбросить opcache и кэш приложения, иначе короткое окно со старым кодом. - Smoke: checkout с созданием аккаунта + My Account registration (если используется); убедиться, что кастомные поля ThemeGrill на месте.
- Prod: бэкап БД+файлов → update → smoke → аудит Administrator (дата создания, неизвестные логины).
- Массово / 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; сессии/ключи приложений; логи доступа за период; одного обновления мало.
Источники
- wordpress.org plugin page (1.1.5, changelog checkout role): https://wordpress.org/plugins/registration-form-for-woocommerce/
- CVE-2026-119075 — номер текстом; CVSS 9.8 (CNA Wordfence)