Description
The Registration Form for WooCommerce plugin for WordPress is vulnerable to privilege escalation due to a missing allow-list check in the FormHandler::validate_checkout_fields() function in versions up to, and including, 1.1.4 The My Account registration path (validate_fields()) validates a submitted 'tgwcfb/user-roles' value against the form's configured allowed roles, but the checkout registration path (validate_checkout_fields(), hooked to woocommerce_after_checkout_validation) stores the raw $_POST['user_roles'] value in $this->valid_data without any allow-list enforcement, and add_user_data() then injects that value into woocommerce_new_customer_data as the new account's role. This makes it possible for unauthenticated attackers to elevate their privileges to Administrator by supplying a user_roles=administrator parameter when creating an account during checkout, resulting in full site takeover.
Published: 2026-11-07
Score: 9.8 Critical
EPSS: n/a
KEV: No
Impact: Privilege Escalation
Action: Immediate Patch
AI Analysis

Impact

The WooCommerce plugin 'Registration Form for WooCommerce' contains a flaw in its checkout registration logic. In affected versions up to 1.1.4, the function validating checkout fields stores the raw $_POST['user_roles'] value directly in the user data array without performing an allow‑list check. Consequently, an unauthenticated user can set the parameter ‘user_roles’ to ‘administrator’ when creating an account via checkout and be granted full administrative privileges. This vulnerability allows a remote attacker to take over the entire site and is classified as a privilege escalation weakness (CWE-269).

Affected Systems

WordPress sites running the ThemeGrill 'Registration Form for WooCommerce' plugin up to and including version 1.1.4 are affected. No other vendors or products are known to be impacted by this issue.

Risk and Exploitability

The CVSS score of 9.8 indicates a critical severity. While the EPSS score is not available, the lack of any authentication requirement and the remote nature of the attack suggest a high likelihood of exploitation in practice. The vulnerability is not listed in the CISA KEV catalog, but the damaging impact—full site takeover—demands immediate attention. Attackers can exploit this by submitting user_roles=administrator during checkout, bypassing all validation checks and obtaining Administrator access.

Generated by OpenCVE AI on November 7, 2026 at 12:25 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Registration Form for WooCommerce plugin to version 1.1.5 or later, which removes the allow‑list oversight.
  • If an immediate upgrade is infeasible, disable role assignment during checkout by either turning off checkout registration in WooCommerce settings or adding a custom filter to force the user role to ‘customer’ on checkout registration submits.
  • Enable additional authentication measures on checkout registration, such as CAPTCHA or email verification, to reduce the risk of unauthorized account creation.
  • Configure your web application firewall or security plugin to block or strip the 'user_roles' parameter from checkout POST requests until the plugin is updated.

Generated by OpenCVE AI on November 7, 2026 at 12:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 07 Nov 2026 11:30:00 +0000

Type Values Removed Values Added
Description The Registration Form for WooCommerce plugin for WordPress is vulnerable to privilege escalation due to a missing allow-list check in the FormHandler::validate_checkout_fields() function in versions up to, and including, 1.1.4 The My Account registration path (validate_fields()) validates a submitted 'tgwcfb/user-roles' value against the form's configured allowed roles, but the checkout registration path (validate_checkout_fields(), hooked to woocommerce_after_checkout_validation) stores the raw $_POST['user_roles'] value in $this->valid_data without any allow-list enforcement, and add_user_data() then injects that value into woocommerce_new_customer_data as the new account's role. This makes it possible for unauthenticated attackers to elevate their privileges to Administrator by supplying a user_roles=administrator parameter when creating an account during checkout, resulting in full site takeover.
Title Registration Form for WooCommerce <= 1.1.4 - Unauthenticated Privilege Escalation to 'user_roles' Parameter at Checkout
Weaknesses CWE-269
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-11-07T18:26:31.030Z

Reserved: 2026-10-29T13:06:26.068Z

Link: CVE-2026-119075

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-07T12:17:44.033

Modified: 2026-11-07T19:17:19.637

Link: CVE-2026-119075

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-07T12:30:17Z

Weaknesses
  • CWE-269

    Improper Privilege Management