CVE-2026-15414: CWE-269 Improper Privilege Management in wpswings Subscriptions for WooCommerce
The Subscriptions for WooCommerce plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 2.0.0. This is due to the `save_meta_boxes()` function persisting the `_wps_plan_user_role` membership plan meta from `$_POST` without an allowlist that excludes privileged roles — the only validations applied, `sanitize_key()` and `wp_roles()->is_role()`, both accept `'administrator'` as a valid value, and the UI's `disabled` attribute on the role dropdown is a client-side-only control trivially bypassed via DevTools or a direct POST request; additionally, because the `wps_membership_plan` custom post type is registered with `capability_type => 'post'`, any user who can edit posts satisfies the `current_user_can('edit_post', $post_id)` guard in `save_meta_boxes()`. This makes it possible for authenticated attackers, with Contributor-level access and above, to escalate their privileges to Administrator by storing `'administrator'` as the role granted on membership acquisition, which the Pro companion plugin then applies via `add_role()` during membership lifecycle events. Successful exploitation requires the Subscriptions for WooCommerce Pro companion plugin to be active, as it is the component that reads the stored `_wps_plan_user_role` meta via `get_post_meta()` and calls `add_role()` to apply the role during membership lifecycle events.
AI Analysis
Technical Summary
CVE-2026-15414 is a privilege escalation vulnerability in the Subscriptions for WooCommerce plugin for WordPress, affecting versions up to 2.0.0. The vulnerability stems from the save_meta_boxes() function persisting the _wps_plan_user_role meta from user-supplied POST data without an allowlist that excludes privileged roles. The only validations applied accept 'administrator' as a valid role, and the client-side UI control preventing selection of this role can be bypassed trivially. Since the custom post type wps_membership_plan uses 'post' capability_type, any user who can edit posts can trigger the vulnerable code path. Authenticated attackers with Contributor-level access or higher can exploit this to assign themselves the Administrator role during membership lifecycle events, but only if the Subscriptions for WooCommerce Pro companion plugin is active, as it reads the stored meta and applies roles via add_role().
Potential Impact
Successful exploitation allows an authenticated user with Contributor-level or higher privileges to escalate to Administrator privileges, gaining full control over the WordPress site. This can lead to complete compromise of the affected system, including data theft, site defacement, or further malicious actions. The vulnerability affects confidentiality, integrity, and availability of the site.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is released, restrict Contributor-level and higher access to trusted users only and consider disabling the Subscriptions for WooCommerce Pro companion plugin if not required. Monitor vendor channels for updates and apply patches promptly once available.
CVE-2026-15414: CWE-269 Improper Privilege Management in wpswings Subscriptions for WooCommerce
Description
The Subscriptions for WooCommerce plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 2.0.0. This is due to the `save_meta_boxes()` function persisting the `_wps_plan_user_role` membership plan meta from `$_POST` without an allowlist that excludes privileged roles — the only validations applied, `sanitize_key()` and `wp_roles()->is_role()`, both accept `'administrator'` as a valid value, and the UI's `disabled` attribute on the role dropdown is a client-side-only control trivially bypassed via DevTools or a direct POST request; additionally, because the `wps_membership_plan` custom post type is registered with `capability_type => 'post'`, any user who can edit posts satisfies the `current_user_can('edit_post', $post_id)` guard in `save_meta_boxes()`. This makes it possible for authenticated attackers, with Contributor-level access and above, to escalate their privileges to Administrator by storing `'administrator'` as the role granted on membership acquisition, which the Pro companion plugin then applies via `add_role()` during membership lifecycle events. Successful exploitation requires the Subscriptions for WooCommerce Pro companion plugin to be active, as it is the component that reads the stored `_wps_plan_user_role` meta via `get_post_meta()` and calls `add_role()` to apply the role during membership lifecycle events.
CVSS v3.1
Score 8.8high
Affected software
wpswings
Subscriptions for WooCommerce
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-15414 is a privilege escalation vulnerability in the Subscriptions for WooCommerce plugin for WordPress, affecting versions up to 2.0.0. The vulnerability stems from the save_meta_boxes() function persisting the _wps_plan_user_role meta from user-supplied POST data without an allowlist that excludes privileged roles. The only validations applied accept 'administrator' as a valid role, and the client-side UI control preventing selection of this role can be bypassed trivially. Since the custom post type wps_membership_plan uses 'post' capability_type, any user who can edit posts can trigger the vulnerable code path. Authenticated attackers with Contributor-level access or higher can exploit this to assign themselves the Administrator role during membership lifecycle events, but only if the Subscriptions for WooCommerce Pro companion plugin is active, as it reads the stored meta and applies roles via add_role().
Potential Impact
Successful exploitation allows an authenticated user with Contributor-level or higher privileges to escalate to Administrator privileges, gaining full control over the WordPress site. This can lead to complete compromise of the affected system, including data theft, site defacement, or further malicious actions. The vulnerability affects confidentiality, integrity, and availability of the site.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is released, restrict Contributor-level and higher access to trusted users only and consider disabling the Subscriptions for WooCommerce Pro companion plugin if not required. Monitor vendor channels for updates and apply patches promptly once available.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Wordfence
- Date Reserved
- 2026-07-10T14:30:07.093Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a6d5b2bbf32cb7a34f84ea0
Added to database: 08/01/2026, 02:34:19 UTC
Last enriched: 08/08/2026, 14:17:06 UTC
Last updated: 09/15/2026, 22:01:32 UTC
Views: 63
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.