Propovoice Plugin Privilege Escalation Vulnerability
An improper capability check in the Propovoice plugin for WordPress (<= 1.7.8) allows authenticated users with the 'ndpv_manager' role to escalate their privileges to administrator by exploiting the REST API's user creation function.
CVE search metadata
CVE search record: CVE-2026-15312. Severity: high. CVSS: 8.8. KEV: no. Product: Propovoice: All-in-One Client Management System. Brief: Propovoice Plugin Privilege Escalation Vulnerability. Brief link: https://feed.craftedsignal.io/briefs/2026-08-propovoice-privilege-escalation/
The Propovoice: All-in-One Client Management System plugin for WordPress contains a critical privilege escalation vulnerability (CVE-2026-15312) in all versions up to and including 1.7.8. The vulnerability originates in the plugin's REST API, specifically within the create() function. This function fails to implement necessary authorization checks to verify if the requesting user possesses the promote_users capability before modifying user roles. Furthermore, the endpoint fails to validate user-supplied role parameters against an allowlist, allowing an attacker to pass arbitrary role names directly to the WP_User::set_role() WordPress function.
This flaw is particularly significant because it allows any user already holding the ndpv_manager role - a role granted by the Propovoice plugin itself - to elevate their account or create new accounts with full administrative privileges. This provides attackers with a path to full site compromise once they have obtained lower-level management access, making the plugin a high-value target for privilege escalation within WordPress environments.
Attack Chain
- Attacker obtains valid credentials for a user account with the
ndpv_managercapability assigned by the Propovoice plugin. - Attacker logs into the WordPress environment using these credentials to initiate authenticated sessions.
- Attacker identifies the vulnerable REST API endpoint exposed by the Propovoice plugin associated with the
create()function. - Attacker constructs a malicious HTTP POST request targeting the endpoint, embedding the
roleparameter set toadministrator. - The server-side REST API fails to perform a capability check for
promote_usersand neglects to validate theroleinput against an allowlist. - The
WP_User::set_role()function is invoked by the plugin with the attacker-suppliedadministratorvalue. - The user account is promoted, or a new user is created, with full administrative access to the WordPress site.
- Attacker uses administrative access to perform further malicious actions, such as plugin/theme modification or arbitrary code execution.
Impact
Successful exploitation results in full administrative control over the affected WordPress instance. Attackers can leverage this access to modify site content, install malicious plugins, gain persistence, and exfiltrate sensitive data managed within the CRM system. This vulnerability impacts any WordPress site utilizing Propovoice versions 1.7.8 or earlier.
Recommendation
- Immediately update the Propovoice plugin to the latest patched version available from the vendor.
- Audit existing WordPress user accounts for unexpected administrative role assignments occurring within the same timeframe as access logs showing suspicious REST API activity.
- Monitor webserver access logs for anomalous POST requests to the REST API endpoints associated with user management in the Propovoice plugin.
Immediate actions
Update Propovoice plugin to version 1.7.9 or later to remediate CVE-2026-15312.