Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Lifecycle Timeline
5DescriptionCVE.org
The Paid Memberships Pro plugin for WordPress is vulnerable to unauthorized modification and disruption of Stripe webhook configuration in all versions up to, and including, 3.6.5. This is due to missing capability checks on the wp_ajax_pmpro_stripe_create_webhook, wp_ajax_pmpro_stripe_delete_webhook, and wp_ajax_pmpro_stripe_rebuild_webhook AJAX handlers. This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete, create, or rebuild the site's Stripe webhook, disrupting all payment processing, subscription renewal synchronization, cancellation handling, and failed payment management.
AnalysisAI
Authenticated attackers with Subscriber-level access can disrupt all Stripe payment processing in Paid Memberships Pro for WordPress versions up to 3.6.5 by deleting, creating, or rebuilding webhook configurations. Missing capability checks on three AJAX handlers (pmpro_stripe_create_webhook, pmpro_stripe_delete_webhook, pmpro_stripe_rebuild_webhook) allow low-privilege users to break subscription renewals, cancellation handling, and failed payment management for the entire site. Patch available in PR #3615 implementing proper authorization checks requiring manage_options or pmpro_paymentsettings capabilities plus nonce validation. EPSS data not provided; no CISA KEV listing indicates no confirmed active exploitation at time of analysis.
Technical ContextAI
This vulnerability stems from CWE-862 (Missing Authorization) in WordPress AJAX handlers. The affected plugin uses Stripe webhooks to synchronize payment events between Stripe's API and WordPress, handling critical e-commerce functions like subscription lifecycle management and payment failure notifications. The three vulnerable AJAX endpoints directly manipulate Stripe webhook configuration via the Stripe API without verifying that the authenticated user holds administrative capabilities. WordPress's wp_ajax_ action hooks execute for any authenticated user by default unless developers explicitly add capability checks using current_user_can(). The fix introduces a private authorize_stripe_webhook_request() method that validates both user capabilities (manage_options or pmpro_paymentsettings) and AJAX nonce tokens before allowing webhook modifications. The CPE identifies the vulnerable component as the Paid Memberships Pro plugin (strangerstudios:paid_memberships_pro) with wildcard versioning indicating all versions through 3.6.5 are affected.
RemediationAI
Upstream fix available in GitHub pull request #3615 (https://github.com/strangerstudios/paid-memberships-pro/pull/3615); released patched version not independently confirmed from available data, though the PR targeting suggests version 3.6.6 or 3.2.6 based on @since annotation in code comments. Site administrators should upgrade to the latest version of Paid Memberships Pro immediately through the WordPress plugin update mechanism. The patch implements capability checks requiring manage_options or pmpro_paymentsettings permissions and adds nonce validation to all three vulnerable AJAX handlers. As a temporary workaround until patching, restrict WordPress user registration to prevent unauthorized Subscriber account creation, and audit existing Subscriber-level accounts for suspicious activity, though this does not protect against already-compromised low-privilege accounts. For high-security environments, consider temporarily disabling the plugin or switching to manual payment processing if immediate patching is not feasible, though this will disrupt automated subscription management. Monitor Stripe webhook configuration in the Stripe Dashboard for unexpected deletions or modifications as an incident detection measure. No evidence suggests this workaround introduces compatibility issues, but manual payment processing significantly increases administrative overhead for membership sites.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-26782