CVE-2025-14078
📋 TL;DR
The PAYGENT for WooCommerce WordPress plugin has an authorization bypass vulnerability that allows unauthenticated attackers to send forged payment notifications. This can manipulate payment callbacks and modify order statuses, potentially marking unpaid orders as paid. All WordPress sites using this plugin up to version 2.4.6 are affected.
💻 Affected Systems
- PAYGENT 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
Attackers could mark fraudulent orders as paid, causing financial loss through shipping goods without payment, or manipulate legitimate orders to disrupt business operations.
Likely Case
Attackers exploit payment systems to receive goods/services without paying by forging successful payment notifications for their own orders.
If Mitigated
With proper web application firewalls and monitoring, unauthorized API calls would be blocked or detected before causing damage.
🎯 Exploit Status
Exploitation requires sending crafted POST requests to the vulnerable endpoint, which is straightforward for attackers with basic web skills.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.4.7 or later
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find PAYGENT for WooCommerce. 4. Click 'Update Now' if available, or download version 2.4.7+ from WordPress repository. 5. Activate the updated plugin.
🔧 Temporary Workarounds
Block vulnerable endpoint via .htaccess
linuxTemporarily block access to the vulnerable REST API endpoint
# Add to .htaccess in WordPress root directory
RewriteEngine On
RewriteRule ^wp-json/paygent/v1/check/ - [F,L]
Disable plugin
linuxTemporarily disable the PAYGENT plugin until patched
wp plugin deactivate woocommerce-for-paygent-payment-main
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block requests to /wp-json/paygent/v1/check/ endpoint
- Monitor and alert on unauthorized access attempts to the Paygent API endpoint
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin under Plugins > Installed Plugins. If PAYGENT for WooCommerce is version 2.4.6 or lower, you are vulnerable.
Check Version:
wp plugin get woocommerce-for-paygent-payment-main --field=version
Verify Fix Applied:
After updating, verify plugin version shows 2.4.7 or higher. Test payment notifications work correctly for legitimate transactions.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to /wp-json/paygent/v1/check/ from unexpected IPs
- Order status changes from 'pending' to 'processing' or 'completed' without corresponding payment records
Network Indicators:
- HTTP POST requests to /wp-json/paygent/v1/check/ without proper authentication headers
- Unusual traffic patterns to WooCommerce REST API endpoints
SIEM Query:
source="web_server_logs" AND uri_path="/wp-json/paygent/v1/check/" AND http_method="POST" AND NOT user_agent="Paygent-Webhook"
🔗 References
- https://plugins.trac.wordpress.org/browser/woocommerce-for-paygent-payment-main/tags/2.4.2/includes/gateways/paygent/class-wc-paygent-endpoint.php#L199
- https://plugins.trac.wordpress.org/browser/woocommerce-for-paygent-payment-main/trunk/includes/gateways/paygent/class-wc-paygent-endpoint.php#L199
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3432342%40woocommerce-for-paygent-payment-main&new=3432342%40woocommerce-for-paygent-payment-main&sfp_email=&sfph_mail=
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3433179%40woocommerce-for-paygent-payment-main&new=3433179%40woocommerce-for-paygent-payment-main&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/9de42bd9-a1d2-48f2-a594-4013a9490e25?source=cve