CVE-2024-7747
📋 TL;DR
The Wallet for WooCommerce WordPress plugin has a numerical logic flaw that allows authenticated attackers with Subscriber-level access or higher to create funds during transfers. This enables them to distribute unlimited funds to any user accounts, making products effectively free or allowing unauthorized withdrawals if the Wallet Withdrawal extension is enabled. All WordPress sites using this plugin up to version 1.5.6 are affected.
💻 Affected Systems
- Wallet for WooCommerce WordPress plugin
📦 What is this software?
Terawallet by Standalonetech
⚠️ Risk & Real-World Impact
Worst Case
Attackers could create unlimited funds, drain the entire e-commerce system, make all products free, and potentially withdraw real money if withdrawal functionality is enabled and approved.
Likely Case
Attackers create funds for themselves or others to purchase products for free, causing financial loss to the merchant and inventory depletion.
If Mitigated
With proper access controls and monitoring, impact is limited to unauthorized purchases by authenticated users before detection.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple once authenticated. The vulnerability is in the fund transfer logic.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.5.7
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3145131/
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find 'Wallet for WooCommerce'. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 1.5.7+ from WordPress repository and manually update.
🔧 Temporary Workarounds
Disable plugin temporarily
allDeactivate the Wallet for WooCommerce plugin until patched
wp plugin deactivate woo-wallet
Restrict user registration
allTemporarily disable new user registration to prevent attacker account creation
wp option update users_can_register 0
🧯 If You Can't Patch
- Implement strict user role management and review all Subscriber+ accounts
- Enable detailed logging of all wallet transactions and monitor for abnormal fund transfers
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → Wallet for WooCommerce version. If version is 1.5.6 or lower, you are vulnerable.
Check Version:
wp plugin get woo-wallet --field=version
Verify Fix Applied:
After updating, verify plugin version shows 1.5.7 or higher in WordPress admin.
📡 Detection & Monitoring
Log Indicators:
- Unusually large fund transfers between users
- Multiple fund creation events from single user
- User with Subscriber role performing wallet transfers
Network Indicators:
- POST requests to /wp-admin/admin-ajax.php with action=woo_wallet_transfer_fund
- Multiple wallet transfer requests from same IP
SIEM Query:
source="wordpress.log" AND "woo_wallet_transfer_fund" AND (user_role="subscriber" OR amount>1000)