CVE-2025-3890
📋 TL;DR
The WordPress Simple Shopping Cart plugin has a stored XSS vulnerability in its 'wp_cart_button' shortcode. Authenticated attackers with contributor-level access or higher can inject malicious scripts that execute when users view affected pages. This affects all plugin versions up to and including 5.1.3.
💻 Affected Systems
- WordPress Simple Shopping Cart plugin
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal admin credentials, deface websites, redirect users to malicious sites, or install backdoors for persistent access.
Likely Case
Attackers with contributor accounts inject malicious scripts to steal user session cookies or perform phishing attacks against site visitors.
If Mitigated
With proper user access controls and content security policies, impact is limited to isolated script execution without broader system compromise.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple once access is obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 5.1.4
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3284572/
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Simple Shopping Cart' and click 'Update Now'. 4. Verify version is 5.1.4 or higher.
🔧 Temporary Workarounds
Disable vulnerable shortcode
allRemove or disable the wp_cart_button shortcode functionality
Add to theme's functions.php: remove_shortcode('wp_cart_button');
Restrict user roles
allLimit contributor-level access to trusted users only
🧯 If You Can't Patch
- Implement Content Security Policy (CSP) headers to restrict script execution
- Regularly audit user accounts and remove unnecessary contributor-level access
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin → Plugins → Installed Plugins. If version is 5.1.3 or lower, system is vulnerable.
Check Version:
wp plugin list --name='Simple Shopping Cart' --field=version
Verify Fix Applied:
Verify plugin version is 5.1.4 or higher. Test shortcode functionality to ensure it still works without script injection.
📡 Detection & Monitoring
Log Indicators:
- Unusual shortcode modifications in post/page content
- Multiple failed login attempts followed by successful contributor login
Network Indicators:
- Unexpected script tags in page responses containing wp_cart_button attributes
SIEM Query:
source="wordpress.log" AND ("wp_cart_button" OR "shortcode") AND ("script" OR "onclick" OR "javascript:")
🔗 References
- https://plugins.trac.wordpress.org/browser/wordpress-simple-paypal-shopping-cart/tags/5.1.2/includes/wpsc-shortcodes-related.php#L20
- https://plugins.trac.wordpress.org/changeset/3284572/
- https://www.tipsandtricks-hq.com/ecommerce/simple-wp-shopping-cart-installation-usage-290#step-1-inserting-an-add-to-cart-button
- https://www.wordfence.com/threat-intel/vulnerabilities/id/93898bf8-cfed-44bf-9d68-a0167beba86a?source=cve