CVE-2024-1407
📋 TL;DR
This CSRF vulnerability in Paid Memberships Pro WordPress plugin allows attackers to manipulate user memberships without authentication. Attackers can trick logged-in users into clicking malicious links that subscribe, modify, or cancel memberships. All WordPress sites using this plugin up to version 2.12.10 are affected.
💻 Affected Systems
- Paid Memberships Pro WordPress plugin
📦 What is this software?
Paid Memberships Pro by Strangerstudios
⚠️ Risk & Real-World Impact
Worst Case
Attackers could mass-cancel legitimate memberships, modify subscription levels, or create unauthorized paid memberships, causing financial loss and service disruption.
Likely Case
Targeted attacks against specific users to modify their membership status or subscribe them to unwanted paid plans.
If Mitigated
With proper CSRF protections and user awareness, impact is limited to isolated incidents that can be manually corrected.
🎯 Exploit Status
Exploitation requires social engineering to trick authenticated users into clicking malicious links. No authentication bypass needed.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.12.11 and later
Vendor Advisory: https://github.com/strangerstudios/paid-memberships-pro/pull/2839
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find Paid Memberships Pro. 4. Click 'Update Now' if available. 5. Alternatively, download version 2.12.11+ from WordPress.org and manually update.
🔧 Temporary Workarounds
Temporary Plugin Deactivation
allDisable the plugin until patched to prevent exploitation
wp plugin deactivate paid-memberships-pro
🧯 If You Can't Patch
- Implement web application firewall rules to block CSRF attempts
- Educate users about not clicking suspicious links while logged into the WordPress site
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for Paid Memberships Pro version. If version is 2.12.10 or lower, you are vulnerable.
Check Version:
wp plugin get paid-memberships-pro --field=version
Verify Fix Applied:
After updating, verify plugin version shows 2.12.11 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual membership changes from single IP addresses
- Multiple membership modifications in short timeframes
Network Indicators:
- POST requests to membership endpoints without proper nonce validation
SIEM Query:
source="wordpress.log" AND "paid-memberships-pro" AND ("membership_change" OR "subscription_modified")
🔗 References
- https://github.com/strangerstudios/paid-memberships-pro/pull/2839
- https://github.com/strangerstudios/paid-memberships-pro/pull/2893
- https://plugins.trac.wordpress.org/browser/paid-memberships-pro/tags/2.12.10/includes/functions.php
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3058329%40paid-memberships-pro%2Ftrunk&old=3033153%40paid-memberships-pro%2Ftrunk&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/c46bcbd1-566d-4b21-84a1-f25e3df7ddc7?source=cve
- https://github.com/strangerstudios/paid-memberships-pro/pull/2839
- https://github.com/strangerstudios/paid-memberships-pro/pull/2893
- https://plugins.trac.wordpress.org/browser/paid-memberships-pro/tags/2.12.10/includes/functions.php
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3058329%40paid-memberships-pro%2Ftrunk&old=3033153%40paid-memberships-pro%2Ftrunk&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/c46bcbd1-566d-4b21-84a1-f25e3df7ddc7?source=cve