CVE-2024-7747

6.5 MEDIUM

📋 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

Products:
  • Wallet for WooCommerce WordPress plugin
Versions: All versions up to and including 1.5.6
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires plugin to be installed and active. Attack requires authenticated user with at least Subscriber role.

📦 What is this software?

⚠️ 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

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

all

Deactivate the Wallet for WooCommerce plugin until patched

wp plugin deactivate woo-wallet

Restrict user registration

all

Temporarily 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)

🔗 References

📤 Share & Export