Horizon Alert
Summary of the vulnerability and why it matters
A critical vulnerability exists in the Custom User Registration Fields for WooCommerce plugin, potentially allowing unauthenticated attackers to gain administrative privileges on WordPress sites. This is due to improper validation of user roles during the checkout process when a specific plugin setting is enabled.
- Unauthenticated users could gain admin access.
- Plugin's checkout API is exposed and vulnerable.
- Confirm if "User Role Selection" setting is enabled.
Attack Path
How an attacker could exploit the issue
An unauthenticated attacker can exploit this vulnerability by sending a crafted request to the WooCommerce Store API during checkout. This request manipulates user role selection, allowing the attacker to assign themselves an administrator role without prior authentication.
- Unauthenticated access to the Store API.
- Modifying user role during checkout.
- Privilege escalation to administrator.
Live Threat
Current exploitation, exposure, and threat context
When the "User Role Selection" setting is enabled in the Custom User Registration Fields for WooCommerce plugin, an unauthenticated attacker could exploit this vulnerability by manipulating requests to the WooCommerce Store API. This could allow them to assign administrative privileges to a new user account created during the checkout process.
- User accounts with administrative privileges.
- API requests to assign user roles.
- Unauthorized control of the WordPress site.
Operational Fix
Recommended remediation, mitigation, and detection steps
To address this vulnerability, the WooCommerce and WordPress administrators are likely responsible for remediation. The first practical step involves identifying all WooCommerce instances that utilize the Custom User Registration Fields plugin, confirming if the "User Role Selection" setting is enabled, and assessing if the affected API endpoint is externally accessible. Subsequently, work with the platform or development team to plan and execute a fix, coordinating with the plugin vendor if necessary.
- Own by WooCommerce/WordPress administrators.
- Verify "User Role Selection" is enabled.
- Plan vendor coordination and apply fix.