Pay. Payment Methods for WooCommerce <= 4.1.1 - Unauthenticated Insecure Direct Object Reference to Order Status Manipulation via 'extra1' Parameter
- ID
- WPSEC-2026-2958
- Plugin
- Pay. Payment Methods for WooCommerce (woocommerce-paynl-payment-methods)
- Affected
- from 3.20.3 before 4.2.0
- Remediation
- Update to 4.2.0 or later.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weakness
- CWE-639
- Usage
- Plugin Low · Affected versions None seen among sites WPSec scans, 2026-11-12
- Attack surface
- Pay. Payment Methods for WooCommerce on WPSec AttackSurface
- Fix released
- Published
Description
The Pay. Payment Methods for WooCommerce plugin for WordPress is vulnerable to Insecure Direct Object Reference via the 'extra1' parameter of the payment exchange (wc-api=Wc_Pay_Gateway_Exchange) endpoint in all versions up to, and including, 4.1.1, due to the plugin taking the WooCommerce order ID from the user-supplied 'extra1' request parameter when no local transaction matches the supplied Pay. order ID. The plugin then links that Pay. transaction to the chosen order and applies the transaction's Pay. status to it. This makes it possible for unauthenticated attackers who know a Pay. transaction on the store's Pay. account that is not recorded in the plugin's local transaction table to attach it to an arbitrary order and change that order's status. For example, the order can be marked as paid when the amounts match or amount validation is disabled, put on hold when they do not, or cancelled.
References
- https://wpsec.com/vuln/WPSEC-2026-2958/
- https://plugins.svn.wordpress.org/woocommerce-paynl-payment-methods/tags/4.2.0/
- https://wordpress.org/plugins/woocommerce-paynl-payment-methods/
Published by WPSec. Provided as is, without warranty. Corrections: contact us.
This advisory as JSON or Markdown · All advisories: JSON, RSS