CVE-2024-13487
📋 TL;DR
The CURCY WooCommerce plugin allows unauthenticated attackers to execute arbitrary WordPress shortcodes via the get_products_price() function. This vulnerability affects all WordPress sites using the plugin version 2.2.5 or earlier. Attackers can potentially execute malicious code or access sensitive functionality through shortcode injection.
💻 Affected Systems
- CURCY – Multi Currency for WooCommerce WordPress plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to complete site compromise, data theft, or malware installation via malicious shortcodes that execute PHP code.
Likely Case
Unauthorized content injection, privilege escalation, or sensitive information disclosure through WordPress shortcodes that expose data or functionality.
If Mitigated
Limited impact if shortcode execution is restricted by WordPress security settings or if vulnerable function isn't publicly accessible.
🎯 Exploit Status
Attack requires no authentication and leverages WordPress's do_shortcode function without proper validation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version 2.2.6 or later
Vendor Advisory: https://wordpress.org/plugins/woo-multi-currency/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'CURCY – Multi Currency for WooCommerce'. 4. Click 'Update Now' if available, or manually update via FTP/SSH. 5. Verify version is 2.2.6 or higher.
🔧 Temporary Workarounds
Disable vulnerable function
WordPressRemove or disable the get_products_price() function if not essential
Edit frontend/cache.php line 60 to add input validation or remove do_shortcode call
Restrict plugin access
allUse web application firewall to block requests to vulnerable endpoints
🧯 If You Can't Patch
- Temporarily deactivate the CURCY plugin until patched
- Implement strict WAF rules to block suspicious shortcode patterns in requests
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins for CURCY version. If version ≤2.2.5, system is vulnerable.
Check Version:
wp plugin list --name='woo-multi-currency' --field=version (WP-CLI) or check plugin details in WordPress admin
Verify Fix Applied:
Confirm plugin version is 2.2.6 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST/GET requests containing shortcode patterns to WooCommerce endpoints
- WordPress debug logs showing do_shortcode errors
Network Indicators:
- HTTP requests with shortcode parameters to /wp-content/plugins/woo-multi-currency/ paths
SIEM Query:
source="wordpress.log" AND ("do_shortcode" OR "[shortcode" OR "woo-multi-currency")
🔗 References
- https://plugins.trac.wordpress.org/browser/woo-multi-currency/trunk/frontend/cache.php#L60
- https://plugins.trac.wordpress.org/changeset/3234505/
- https://wordpress.org/plugins/woo-multi-currency/#developers
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d630dd85-0169-4582-a8ae-54e5053425ac?source=cve