Pay. Payment Methods for WooCommerce <= 4.1.1 - Unauthenticated Insecure Direct Object Reference to Order Status Manipulation via 'extra1' Parameter

Low 3.7 CWE-639Fixed in 4.2.0
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

Published by WPSec. Provided as is, without warranty. Corrections: contact us.

This advisory as JSON or Markdown · All advisories: JSON, RSS

License: CC BY 4.0