Skip to main content

Subscriptions for WooCommerce EUVDEUVD-2026-51687

| CVE-2026-15414 HIGH
Improper Privilege Management (CWE-269)
2026-08-01 Wordfence GHSA-x6w6-m8vc-m6cp
8.8
CVSS 3.1 · NVD
Share

Severity by source

Vendor (Wordfence) PRIMARY
HIGH
qualitative
NVD
8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
8.8 HIGH

PR:L confirmed by Contributor-level requirement; AC:L reflects straightforward POST bypass once authenticated, despite Pro plugin dependency.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Aug 01, 2026 - 02:44 vuln.today
CVE Published
Aug 01, 2026 - 01:29 cve.org
HIGH 8.8

DescriptionNVD

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.

AnalysisAI

Privilege escalation in the Subscriptions for WooCommerce WordPress plugin (versions up to and including 2.0.0) allows authenticated Contributors to elevate their accounts to Administrator by poisoning a membership plan's stored role meta. The save_meta_boxes() function accepts the _wps_plan_user_role POST parameter with no server-side allowlist blocking privileged roles; the only guards applied - sanitize_key() and wp_roles()->is_role() - both pass 'administrator' as valid. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Authenticate as Contributor-level WordPress user
Delivery
Navigate to membership plan editor or create new plan
Exploit
Remove HTML disabled attribute from role dropdown via DevTools or craft direct POST
Install
Submit form with _wps_plan_user_role=administrator
C2
save_meta_boxes() persists value without server-side blocklist
Execute
Acquire membership on poisoned plan (purchase or self-enroll)
Impact
Pro plugin calls add_role('administrator') on lifecycle event, granting full admin access

Vulnerability AssessmentAI

Exploitation Exploitation requires: (1) an attacker-controlled account with at minimum Contributor-level WordPress access - this is the capability needed to satisfy the `current_user_can('edit_post', $post_id)` check in `save_meta_boxes()`; (2) the Subscriptions for WooCommerce Pro companion plugin must be installed and active, as it is the exclusive component that reads `_wps_plan_user_role` via `get_post_meta()` and calls `add_role()` during membership lifecycle events - the free plugin alone stores the poisoned value but never applies it; (3) the attacker must be able to acquire a membership tied to the modified plan (purchase it, or if self-service registration is enabled, enroll). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 8.8 score (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) accurately reflects the network-accessible, low-complexity nature of the attack once a Contributor account exists. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker registers a Contributor-level account on a WordPress site running both the free and Pro Subscriptions for WooCommerce plugins. They navigate to edit or create a membership plan, then use browser DevTools (or a tool like Burp Suite) to remove the `disabled` attribute from the role dropdown and set its value to 'administrator' before submitting the form. …
Remediation A fix has been committed to the plugin repository (WordPress.org SVN changeset 3624543, referenced at https://plugins.trac.wordpress.org/changeset?reponame=&old=3624543%40subscriptions-for-woocommerce&new=3624543%40subscriptions-for-woocommerce); however, the exact released version number of the patched build is not confirmed in the available input data - administrators should update to the latest available version beyond 2.0.0 via the WordPress plugin dashboard and verify the installed version exceeds 2.0.0. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: Inventory all WooCommerce installations to identify systems running Subscriptions for WooCommerce versions up to 2.0.0; immediately restrict Contributor-level access to membership plan configuration interfaces, or disable both the base plugin and the Subscriptions for WooCommerce Pro plugin if not business-critical. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-51687 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy