CVE-2026-1321
Privilege Escalation in Membership Plugin Allows Admin Role Assignment
Publication date: 2026-03-05
Last updated on: 2026-03-05
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| restrict_content_pro | restrict_content_pro | to 3.2.20 (inc) |
| restrict_content_pro | restrict_content_pro | 3.2.18 |
| restrict_content_pro | restrict_content_pro | 3.2.21 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-862 | The product does not perform an authorization check when an actor attempts to access a resource or perform an action. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The Membership Plugin β Restrict Content plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.2.20. The vulnerability arises because the function `rcp_setup_registration_init()` accepts any membership level ID via the `rcp_level` POST parameter without validating whether the level is active or requires payment.
This lack of validation, combined with the `add_user_role()` method assigning WordPress roles based on the membership level without status checks, allows unauthenticated attackers to register with any membership level. This includes inactive levels that grant privileged roles such as Administrator, or paid levels that normally require a sign-up fee.
The vulnerability was partially patched in version 3.2.18 by adding stricter validation on membership levels, payment gateways, and user permissions during registration.
How can this vulnerability impact me? :
This vulnerability can allow unauthenticated attackers to escalate their privileges by registering with any membership level, including those that grant high-level WordPress roles such as Administrator.
As a result, attackers could gain administrative access to your WordPress site, potentially allowing them to modify content, manage users, install malicious plugins, or take full control of the site.
Additionally, attackers could register for paid membership levels without paying the required fees, bypassing payment controls.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': 'This vulnerability involves unauthenticated attackers exploiting the `rcp_level` POST parameter to register with any membership level, including inactive or privileged ones, due to insufficient validation in the Restrict Content Pro plugin versions up to 3.2.20.'}, {'type': 'paragraph', 'content': 'Detection on your network or system would involve monitoring HTTP POST requests to the WordPress site that include the `rcp_level` parameter in registration forms or API calls. Suspicious activity would be POST requests attempting to register with membership level IDs that are inactive or unusually privileged.'}, {'type': 'paragraph', 'content': 'Since the vulnerability exploits the registration process, you can check your web server access logs for POST requests to the registration endpoint containing the `rcp_level` parameter with unexpected or high privilege membership level IDs.'}, {'type': 'paragraph', 'content': 'Example commands to detect such attempts (assuming access to server logs):'}, {'type': 'list_item', 'content': 'Use grep to find POST requests with the `rcp_level` parameter in your web server logs, e.g.:'}, {'type': 'list_item', 'content': "grep -i 'POST' /var/log/apache2/access.log | grep 'rcp_level='"}, {'type': 'list_item', 'content': 'Filter for suspicious membership level IDs (e.g., IDs corresponding to Administrator or inactive levels):'}, {'type': 'list_item', 'content': "grep 'rcp_level=1' /var/log/apache2/access.log # if 1 is admin level"}, {'type': 'paragraph', 'content': 'Additionally, monitoring for new user registrations with unexpected roles or membership levels in the WordPress admin panel or database can help detect exploitation.'}, {'type': 'paragraph', 'content': 'Because the vulnerability allows unauthenticated registration with privileged roles, reviewing recent user accounts created with elevated roles is recommended.'}] [1, 2, 3, 4]
What immediate steps should I take to mitigate this vulnerability?
The primary mitigation step is to update the Restrict Content Pro plugin to version 3.2.21 or later, as the vulnerability was partially patched in 3.2.18 and fully addressed in subsequent versions.
The updates include stricter validation of membership levels during registration, ensuring that only active and valid membership levels can be selected, and that paid levels require appropriate payment gateways.
Additional mitigations include:
- Ensure that your WordPress installation and all plugins are kept up to date, especially Restrict Content Pro.
- Review and restrict user registration settings to prevent unauthenticated registrations if not needed.
- Monitor and audit new user accounts for unexpected roles or membership levels.
- Implement Web Application Firewall (WAF) rules to block suspicious POST requests attempting to manipulate the `rcp_level` parameter.
If immediate update is not possible, consider temporarily disabling user registrations or restricting access to the registration endpoint until the patch can be applied.