CVE-2024-9990
📋 TL;DR
This CSRF vulnerability in the WordPress Crypto plugin allows unauthenticated attackers to log in as any existing user, including administrators, by tricking them into clicking a malicious link. All WordPress sites using Crypto plugin versions up to 2.15 are affected. The vulnerability stems from missing nonce validation in the authentication function.
💻 Affected Systems
- WordPress Crypto plugin
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete site takeover where attackers gain administrative access, install backdoors, steal data, deface the site, or use it for further attacks.
Likely Case
Attackers gain administrative privileges through phishing campaigns targeting site administrators, leading to data theft, malware installation, or site compromise.
If Mitigated
With proper CSRF protections and user awareness, exploitation attempts fail, though the vulnerability remains present in the code.
🎯 Exploit Status
Exploitation requires social engineering to trick administrators into clicking malicious links, but the technical exploit is simple.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.16 or later
Vendor Advisory: https://plugins.trac.wordpress.org/browser/crypto/tags/2.16
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Crypto plugin and click 'Update Now'. 4. Verify plugin version is 2.16 or higher.
🔧 Temporary Workarounds
Disable Crypto plugin
allTemporarily disable the vulnerable plugin until patching is possible
wp plugin deactivate crypto
Add CSRF protection middleware
allImplement custom WordPress filter to add nonce validation to affected endpoints
Add custom PHP code to theme functions.php or create a custom plugin
🧯 If You Can't Patch
- Implement strict access controls and monitor for suspicious admin account activity
- Use web application firewall rules to block requests to crypto_connect_ajax_process endpoints
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → Installed Plugins → Crypto plugin version. If version is 2.15 or lower, you are vulnerable.
Check Version:
wp plugin get crypto --field=version
Verify Fix Applied:
After updating, verify Crypto plugin version shows 2.16 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual admin login events from unexpected IP addresses
- Multiple failed login attempts followed by successful admin login
- Requests to /wp-admin/admin-ajax.php with action=crypto_connect_ajax_process
Network Indicators:
- POST requests to admin-ajax.php with crypto authentication parameters from unexpected sources
- Traffic patterns suggesting CSRF attack vectors
SIEM Query:
source="wordpress.log" AND ("crypto_connect_ajax_process" OR "admin-ajax.php") AND (status=200 OR "logged_in")
🔗 References
- https://plugins.trac.wordpress.org/browser/crypto/tags/2.10/includes/class-crypto_connect_ajax_register.php#L31
- https://plugins.trac.wordpress.org/browser/crypto/tags/2.10/includes/class-crypto_connect_ajax_register.php#L65
- https://www.wordfence.com/threat-intel/vulnerabilities/id/cea39157-94aa-4982-983e-9c3e4b1af86d?source=cve