Summary
Groundhogg for WordPress contains a privilege-escalation flaw in its support-user creation flow, where attacker-controlled account attributes can be mistaken for trusted support credentials. If an attacker can create or obtain a matching account and a legitimate administrator triggers support access, the account may be promoted to administrator, or to super administrator on multisite installations.
Groundhogg for WordPress contains a privilege-escalation flaw in its support-user creation flow, where attacker-controlled account attributes can be mistaken for trusted support credentials. If an attacker can create or obtain a matching account and a legitimate administrator triggers support access, the account may be promoted to administrator, or to super administrator on multisite installations.
Affected context
The issue occurs in Groundhogg installations using the support-access functionality, including the submit_ticket or process_send_support_access entry points. Exploitation depends on the attacker having an account with the hardcoded login and email characteristics recognized by create_support_user(), together with a legitimate administrator invoking the relevant support workflow. Multisite impact may depend on the triggering administrator having network-management privileges.
The issue occurs in Groundhogg installations using the support-access functionality, including the submit_ticket or process_send_support_access entry points. Exploitation depends on the attacker having an account with the hardcoded login and email characteristics recognized by create_support_user(), together with a legitimate administrator invoking the relevant support workflow. Multisite impact may depend on the triggering administrator having network-management privileges.
Exploit preconditions
- Attack surface: Groundhogg support-access and ticket-processing functionality in WordPress
- Required access: An attacker-controlled or pre-planted account with the recognized
user_loginanduser_emailvalues - Account creation condition: Open registration or another authorized account-creation path must allow the attacker to obtain the matching account attributes
- Trigger point: A legitimate administrator invokes the support-access workflow through the affected entry points
- Why exploitation is possible: The plugin treats publicly known credential values as a trust boundary, even though users can control their own email address and may obtain a matching login
- Attack surface: Groundhogg support-access and ticket-processing functionality in WordPress
- Required access: An attacker-controlled or pre-planted account with the recognized
user_loginanduser_emailvalues - Account creation condition: Open registration or another authorized account-creation path must allow the attacker to obtain the matching account attributes
- Trigger point: A legitimate administrator invokes the support-access workflow through the affected entry points
- Why exploitation is possible: The plugin treats publicly known credential values as a trust boundary, even though users can control their own email address and may obtain a matching login
Why this happens
The vulnerability results from using predictable, user-controllable account attributes as proof that an account is a trusted support identity. The create_support_user() function compares the login and email values against hardcoded constants, while the email equality check does not establish ownership or authority because an account holder controls their own email value. This is a CWE-269: Improper Privilege Management condition in which an untrusted identity can satisfy a privileged-account check and receive administrative capabilities.
The vulnerability results from using predictable, user-controllable account attributes as proof that an account is a trusted support identity. The create_support_user() function compares the login and email values against hardcoded constants, while the email equality check does not establish ownership or authority because an account holder controls their own email value. This is a CWE-269: Improper Privilege Management condition in which an untrusted identity can satisfy a privileged-account check and receive administrative capabilities.
Potential impact
- An attacker may gain administrator privileges on the affected WordPress site.
- An attacker could modify site content, settings, users, plugins, or stored data.
- A compromised administrator account may enable further persistence or lateral compromise.
- On multisite deployments, an attacker could gain super-administrator privileges when the triggering administrator has network-management authority.
- Site availability, confidentiality, and integrity could be affected.
- An attacker may gain administrator privileges on the affected WordPress site.
- An attacker could modify site content, settings, users, plugins, or stored data.
- A compromised administrator account may enable further persistence or lateral compromise.
- On multisite deployments, an attacker could gain super-administrator privileges when the triggering administrator has network-management authority.
- Site availability, confidentiality, and integrity could be affected.
General mitigation guidance
Mitigation focuses on removing identity assumptions based on public, user-controlled values and ensuring that privilege grants require an independently authenticated trust decision.
Common defensive patterns include:
- Avoiding hardcoded usernames or email addresses as authorization credentials.
- Using server-generated, short-lived, single-use support tokens tied to an authenticated request.
- Requiring explicit administrator confirmation and validating the intended target account before granting privileges.
- Separating support access from permanent administrator or super-administrator roles.
- Applying least privilege and limiting network-level capabilities to only workflows that require them.
- Restricting account registration and monitoring account-creation paths for suspicious attribute combinations.
Mitigation focuses on removing identity assumptions based on public, user-controlled values and ensuring that privilege grants require an independently authenticated trust decision.
Common defensive patterns include:
- Avoiding hardcoded usernames or email addresses as authorization credentials.
- Using server-generated, short-lived, single-use support tokens tied to an authenticated request.
- Requiring explicit administrator confirmation and validating the intended target account before granting privileges.
- Separating support access from permanent administrator or super-administrator roles.
- Applying least privilege and limiting network-level capabilities to only workflows that require them.
- Restricting account registration and monitoring account-creation paths for suspicious attribute combinations.
How teams detect issues like this
Organizations can identify similar issues through:
- Static analysis for authorization decisions based on hardcoded usernames, email addresses, or other public identifiers.
- Code review checks for privilege-changing functions that do not verify account ownership or use authenticated capability checks.
- Tests that attempt to create accounts with reserved support attributes and verify that no elevated role is granted.
- Audit logging and alerting for unexpected administrator or super-administrator role changes.
- WordPress policy enforcement that restricts registration, monitors privileged-account creation, and reviews support-access events.
- Automated security review tools can help flag user-controlled values used as authorization conditions.
Organizations can identify similar issues through:
- Static analysis for authorization decisions based on hardcoded usernames, email addresses, or other public identifiers.
- Code review checks for privilege-changing functions that do not verify account ownership or use authenticated capability checks.
- Tests that attempt to create accounts with reserved support attributes and verify that no elevated role is granted.
- Audit logging and alerting for unexpected administrator or super-administrator role changes.
- WordPress policy enforcement that restricts registration, monitors privileged-account creation, and reviews support-access events.
- Automated security review tools can help flag user-controlled values used as authorization conditions.
Sources
| Source | Link |
|---|---|
| github. | github.com/ |
| plugins. | plugins.trac.wordpress.org/ |
| plugins. | plugins.trac.wordpress.org/ |
| plugins. | plugins.trac.wordpress.org/ |
| plugins. | plugins.trac.wordpress.org/ |
| plugins. | plugins.trac.wordpress.org/ |
| wordfence. | wordfence.com/ |

