Wholesale for WooCommerce <= 2.0.5 - Authenticated (Author+) Privilege Escalation via 'user_role_set' Parameter
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269.
Summary
The Wholesale for WooCommerce plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.0.5. This is due to the `save_requests_meta()` function applying only `sanitize_text_field()` to the `user_role_set` POST parameter before passing it directly to `WP_User::add_role()`, with no allowlist validation against permitted wholesale roles and no capability check such as `current_user_can('promote_users')` or `current_user_can('manage_options')`. This makes it possible for authenticated attackers with author-level access and above to escalate their privileges to administrator by supplying `administrator` as the `user_role_set` value in a crafted request. The function is gated only by a nonce (`request_user_role_nonce`) that is rendered in the meta box on the `wwp_requests` post edit screen; because the post type is registered with `capability_type => 'post'`, any author-level user who has authored a `wwp_requests` post — such as one created via the wholesale registration form — can access this nonce and submit the role-assignment request.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-12144
- 2026-10-03 Alias added: GHSA-fgx3-jj2q-3c9j
References
Other 5
- https://www.wordfence.com/threat-intel/vulnerabilities/id/327a155c-7a7d-494d-94d1-f7e7ee8927f0?source=cve
- https://plugins.trac.wordpress.org/browser/woo-wholesale-pricing/tags/2.0.5/inc/class-wwp-wholesale-requests.php#L369
- https://plugins.trac.wordpress.org/browser/woo-wholesale-pricing/tags/2.0.5/inc/class-wwp-wholesale-requests.php#L397
- https://plugins.trac.wordpress.org/browser/woo-wholesale-pricing/tags/2.0.5/inc/class-wwp-wholesale-requests.php#L274
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3621257%40woo-wholesale-pricing&new=3621257%40woo-wholesale-pricing
More saadiqbal vulnerabilities
- TI-2025-10849 Missing authorization in saadiqbal Post SMTP – Complete Email Deliverability and SMTP… CVSS 3.1CRITICAL 9.8
- TI-2024-29006 WordPress myCred plugin <= 2.7.2 - PHP Object Injection vulnerability CVSS 3.1CRITICAL 9.8
- TI-2025-36263 WordPress All In One Login plugin <= 2.0.8 - Bypass Vulnerability vulnerability CVSS 3.1CRITICAL 9.1
- TI-2026-05814 WPFormify <= 1.1.1 - Missing Authorization CVSS 3.1HIGH 8.2
- TI-2025-42518 WordPress New User Approve plugin <= 3.2.0 - Broken Access Control vulnerability CVSS 3.1HIGH 8.6
- TI-2024-35074 WordPress User Management plugin <= 1.1 - Arbitrary File Upload vulnerability CVSS 3.1CRITICAL 9.9
Sources
- CVE-2026-12144 · CVE Program
- CVE-2026-12144 · NVD
- FIRST EPSS
- GHSA-fgx3-jj2q-3c9j · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences