CVE-2025-14078
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2026-01-17

Last updated on: 2026-01-17

Assigner: Wordfence

Description
The PAYGENT for WooCommerce plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 2.4.6. This is due to missing authorization checks on the paygent_check_webhook function combined with the paygent_permission_callback function unconditionally returning true on line 199. This makes it possible for unauthenticated attackers to manipulate payment callbacks and modify order statuses by sending forged payment notifications via the `/wp-json/paygent/v1/check/` endpoint.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-01-17
Last Modified
2026-01-17
Generated
2026-05-07
AI Q&A
2026-01-18
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 3 associated CPEs
Vendor Product Version / Range
paygent woocommerce_paygent_payment to 2.4.6 (inc)
paygent woocommerce_paygent_payment From 2.4.7 (inc)
paygent woocommerce_paygent_payment to 2.4.6 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability in the PAYGENT for WooCommerce plugin (up to version 2.4.6) is a Missing Authorization issue. It occurs because the webhook endpoint `/wp-json/paygent/v1/check/` lacks proper authorization checks. Specifically, the function `paygent_permission_callback` always returns true, allowing any unauthenticated attacker to send forged payment notifications. This lets attackers manipulate payment callbacks and modify WooCommerce order statuses by sending fake payment status updates to the webhook endpoint. [1, 3]


How can this vulnerability impact me? :

This vulnerability allows unauthenticated attackers to send forged payment notifications to the WooCommerce store using the PAYGENT plugin. As a result, attackers can manipulate order statuses, potentially marking unpaid orders as paid or cancelling legitimate orders. This can lead to financial loss, order fulfillment errors, and disruption of business operations. [1, 3]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring incoming HTTP POST requests to the endpoint `/wp-json/paygent/v1/check/` on your WooCommerce site. Since the vulnerability involves missing authorization checks allowing unauthenticated attackers to send forged payment notifications, you can look for unexpected or unauthorized IP addresses accessing this endpoint. Additionally, the plugin logs detailed information about webhook requests and unauthorized access attempts, including IP addresses and request data. To detect potential exploitation, you can use network monitoring or web server logs to filter requests to this endpoint. Example commands to detect such requests include: 1. Using grep on web server access logs to find POST requests to the vulnerable endpoint: `grep 'POST /wp-json/paygent/v1/check/' /var/log/apache2/access.log` (adjust path and log file as needed). 2. Using tcpdump to capture HTTP POST traffic to the endpoint (assuming default HTTP port 80): `tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep '/wp-json/paygent/v1/check/'` 3. Checking plugin debug logs if enabled, as the plugin logs webhook data and unauthorized access attempts. Monitoring for IP addresses not in the allowed whitelist (e.g., not `27.110.52.4` or `202.232.189.65`) accessing the endpoint is critical. These methods help identify suspicious or unauthorized webhook calls that may exploit the vulnerability. [1, 3]


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include: 1. Update the WooCommerce for Paygent Payment plugin to version 2.4.7 or later, as this version addresses the vulnerability by improving IP address acquisition reliability and enforcing proper IP-based access control to prevent unauthorized webhook access. 2. Ensure that the plugin's IP whitelist is correctly configured to allow only Paygent's known IP addresses (e.g., `27.110.52.4` and `202.232.189.65`) to access the webhook endpoint. 3. Enable and review debug logging to monitor for unauthorized access attempts and suspicious webhook activity. 4. If updating immediately is not possible, consider restricting access to the `/wp-json/paygent/v1/check/` endpoint at the web server or firewall level to only allow requests from Paygent's IP addresses. 5. Review and apply any other security best practices for your WordPress and WooCommerce installation, including keeping all plugins and core software up to date. These steps help prevent exploitation of the missing authorization vulnerability by ensuring only legitimate webhook requests are processed. [2, 3]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart