{"id":4236,"date":"2026-09-04T18:46:20","date_gmt":"2026-09-04T10:46:20","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-15414"},"modified":"2026-09-04T18:46:20","modified_gmt":"2026-09-04T10:46:20","slug":"cve-2026-15414","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-15414","title":{"rendered":"CVE-2026-15414 [HIGH] &#8211; The Subscriptions for WooCommerce plugin for WordPress is vulnerable to Privilege Escalati"},"content":{"rendered":"<p>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 \u2014 the only validations applied, `sanitize_key()` and `wp_roles()-&gt;is_role()`, both accept `&#8217;administrator&#8217;` as a valid value, and the UI&#8217;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 =&gt; &#8216;post&#8217;`, any user who can edit posts satisfies the `current_user_can(&#8216;edit_post&#8217;, $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 `&#8217;administrator&#8217;` 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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 `_w<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-4236","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/4236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}