CVE-2024-0619

5.3 MEDIUM

📋 TL;DR

The Payflex Payment Gateway WordPress plugin has a missing capability check vulnerability that allows unauthenticated attackers to modify order statuses. This affects all WordPress sites using Payflex Payment Gateway versions 2.5.0 and earlier. Attackers can mark orders as paid without actual payment, potentially causing revenue loss for e-commerce sites.

💻 Affected Systems

Products:
  • Payflex Payment Gateway WordPress Plugin
Versions: All versions up to and including 2.5.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress sites with the Payflex Payment Gateway plugin installed and activated.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers mark all orders as paid without payment, causing complete revenue loss and inventory depletion without compensation.

🟠

Likely Case

Attackers selectively mark high-value orders as paid, causing significant but targeted revenue loss.

🟢

If Mitigated

With proper monitoring, unauthorized order status changes are detected quickly and can be reversed before fulfillment.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is in a publicly accessible callback function requiring no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.5.1 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/payflex-payment-gateway/trunk/partpay.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find Payflex Payment Gateway. 4. Click 'Update Now' if available. 5. If no update appears, download version 2.5.1+ from WordPress.org and manually update.

🔧 Temporary Workarounds

Disable Payflex Plugin

all

Temporarily disable the Payflex Payment Gateway plugin until patched

wp plugin deactivate payflex-payment-gateway

Block Payment Callback Endpoint

linux

Block access to the vulnerable payment_callback() function via web server configuration

# Apache: RewriteRule ^/wp-content/plugins/payflex-payment-gateway/.*\.php$ - [F,L]
# Nginx: location ~ /wp-content/plugins/payflex-payment-gateway/.*\.php$ { deny all; }

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block requests to the payment_callback endpoint
  • Enable detailed logging of all order status changes and implement real-time alerts for suspicious activity

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for Payflex Payment Gateway version 2.5.0 or earlier

Check Version:

wp plugin get payflex-payment-gateway --field=version

Verify Fix Applied:

Verify Payflex Payment Gateway plugin version is 2.5.1 or later in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-content/plugins/payflex-payment-gateway/partpay.php with order status changes
  • Order status updates without corresponding payment transactions

Network Indicators:

  • HTTP requests to plugin callback URLs from unexpected IP addresses

SIEM Query:

source="web_access_logs" AND uri="/wp-content/plugins/payflex-payment-gateway/partpay.php" AND method="POST" AND NOT user_agent="WordPress/*"

🔗 References

📤 Share & Export