Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify WordPress site running Simple Membership ≤4.7.5
-
DeliveryConfirm absence of Stripe webhook signing secret
-
ExploitEnumerate or obtain target member subscription ID
-
InstallCraft forged charge.refunded webhook HTTP POST
-
C2Submit unauthenticated request to webhook endpoint
-
ExecutePlugin processes event without HMAC verification
-
ImpactTarget member account set to inactive
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the Simple Membership plugin's stripe-webhook-signing-secret option is NOT configured - this is the explicit default out-of-the-box installation state, meaning no deliberate misconfiguration is required on the operator's part. Attackers must supply a valid subscription ID for the target member within the forged webhook payload; this subscription ID must be known or enumerable, which partially limits fully automated bulk exploitation. The CVSS vector (AV:N/AC:L/PR:N/UI:N) confirms no authentication, no user interaction, and no special network positioning are required. Exploitation is completely blocked on sites that have configured the stripe-webhook-signing-secret option, as those deployments are routed exclusively to the HMAC-verified handler; this is the single definitive limiting factor. |
| Impact | The CVSS 3.1 score of 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N) captures the zero-credential, network-accessible nature of the attack but its I:L rating understates the business impact: bulk account deactivations across a paying membership site constitute a targeted denial-of-access attack that, while not crashing the underlying system, directly disrupts service for legitimate subscribers. The critical real-world risk factor is deployment prevalence: because the vulnerable configuration is the default out-of-the-box state, a large fraction of Simple Membership installations are expected to be vulnerable without any explicit misconfiguration on the operator's part. No EPSS score was provided in the source data; no KEV listing exists; no public exploit code has been identified at time of analysis. The requirement to know or enumerate a target subscription ID provides a partial natural barrier against fully automated mass exploitation, though subscription IDs may be exposed through various application or social-engineering vectors. The availability of a code-level fix in changeset 3573852 of the plugin repository is confirmed, but the specific patched release version is not independently confirmed from available references. |
| Exploit ScenarioDerived | An attacker targeting a membership-based WordPress site identifies that Simple Membership ≤4.7.5 is installed and confirms via default-configuration indicators that no Stripe webhook signing secret is set. The attacker obtains a target subscriber's Stripe subscription ID - through a prior data exposure, social engineering, or application-level enumeration - then crafts and submits an HTTP POST to the site's Stripe webhook endpoint with a forged charge.refunded JSON payload referencing that subscription ID. The plugin accepts the unauthenticated request, deactivates the member account, and sends the victim a cancellation email, all without the attacker possessing any credentials or requiring any interaction from the victim or site administrator. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 18, 2026
Authorization bypass in the Simple Membership WordPress plugin (≤4.7.5) enables unauthenticated remote attackers to forcibly deactivate any member account by submitting a forged Stripe charge.refunded webhook payload carrying a known victim subscription ID. The plugin's webhook handler skips HMAC signature verification when the stripe-webhook-signing-secret option is absent - the default installation state - accepting the forged event as legitimate and setting the target account_state to 'inactive', firing cancellation hooks, recording a transaction status change, and dispatching a cancellation notification email. No public exploit has been identified at time of analysis, and no KEV listing exists, but the zero-prerequisite network attack path against default-configured sites elevates practical risk above the 5.3 CVSS score suggests.
RemediationAI
Update Simple Membership to version 4.7.6 or later - the upstream fix is confirmed committed at plugins.trac.wordpress.org changeset 3573852, though the exact patched release version is not independently confirmed from available references and should be verified against the WordPress plugin repository changelog. As an immediate compensating control applicable to any installed version, configure a Stripe webhook signing secret by setting the stripe-webhook-signing-secret option in the plugin settings; this routes all incoming webhook traffic through the HMAC-verified code path and fully mitigates the vulnerability without requiring an upgrade. This single configuration change is the most effective interim mitigation: once the secret is set, the unauthenticated code path is bypassed entirely with no functional side effects. Sites not using Stripe payment processing should audit whether the webhook endpoint is exposed and consider restricting access to it at the web server or firewall level. Full advisory details are at https://www.wordfence.com/threat-intel/vulnerabilities/id/2f91a7c3-ee0e-48e9-aa5f-dfc1160bbc09.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The Simple Membership plugin (CPE: cpe:2.3:a:wpinsider-1:simple_membership:*:*:*:*:*:*:*:*) integrates Stripe subscription payments via a webhook handler in swpm-stripe-webhook-handler.php. Stripe's security model requires servers to validate incoming webhook requests using HMAC-SHA256 signatures computed with a per-account signing secret; without this check, any HTTP POST to the webhook endpoint can impersonate a legitimate Stripe event. The root cause is CWE-862 (Missing Authorization): the code paths at swpm-stripe-webhook-handler.php lines 71 and 297 process incoming charge.refunded events without verifying their origin when no signing secret is configured, passing control to account deactivation logic in swpm_handle_subsc_ipn.php line 381 and class.swpm-wp-loaded-tasks.php line 96. Sites that have configured the stripe-webhook-signing-secret option are routed to the properly verified HMAC path and are entirely unaffected, demonstrating that the fix mechanism already exists in the codebase - it is simply inactive by default.
Know when Simple Membership gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Network-accessible webhook with no authentication (AV:N/PR:N); account deactivation causes both data integrity change (I:L) and user access loss (A:L); no confidentiality impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Simple Membership plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.7.5. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to deactivate arbitrary member accounts by forging a charge.refunded webhook event containing a victim's subscription ID, setting the target member's account_state to 'inactive' and triggering cancellation hooks, transaction-record status changes, and cancellation notification emails. This vulnerability is exploitable only on installations where no Stripe webhook signing secret has been configured, which is the default out-of-the-box state; sites that have configured the stripe-webhook-signing-secret option are routed to the properly verified HMAC path and are not affected.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Simple Membership
View allThe Simple Membership WordPress plugin before 4.1.3 allows user to change their membership at the registration stage due
Account takeover of the primary WordPress administrator affects the Simple Membership plugin in all versions before 4.7.
Stored/reflected cross-site scripting in the Simple Membership WordPress plugin before 4.7.5 lets unauthenticated attack
The Simple Membership WordPress plugin before 4.1.3 does not properly validate the membership_level parameter when editi
The Simple Membership plugin before 3.8.5 for WordPress has CSRF affecting the Bulk Operation section. Rated high severi
The Simple Membership WordPress plugin before 4.1.0 does not have CSRF check in place when deleting Transactions, which
Stored cross-site scripting in the Simple Membership WordPress plugin before 4.7.8 allows unauthenticated attackers to i
The Simple Membership WordPress plugin before 4.1.1 does not properly sanitise and escape parameters before outputting t
Privilege escalation in the Simple Membership WordPress plugin before 4.7.8 allows authenticated members to obtain highe
Simple Membership, a WordPress membership plugin, transmits a newly registered member's plaintext password in a URL quer
The Simple Membership WordPress plugin before 4.0.9 does not have CSRF check when deleting members in bulk, which could
Unauthenticated attackers can redirect activation and registration-complete emails to an arbitrary address in Simple Mem
EUVD-2026-37847
GHSA-6q57-f535-3g3g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB