Description
The WooCommerce Stripe Payment Gateway plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the `ajax_pay_for_order()` function in all versions up to, and including, 10.7.0 This is due to a missing order ownership or order_key verification when processing payment for an order via the `wc_stripe_pay_for_order` WC-AJAX endpoint. The function only validates a nonce (which is publicly available on any WooCommerce page where Express Checkout is enabled), but does not verify that the requesting user owns the target order and is allowed to modify it. This makes it possible for unauthenticated attackers to force any pending order into a failed status by providing a fake payment method, causing a payment exception that updates the order status to "failed" via sequential order ID enumeration.
Published: 2026-06-16
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The WooCommerce Stripe Payment Gateway plugin contains a missing capability check on the ajax_pay_for_order() function. The function validates only a nonce and does not verify that the requester owns the target order, allowing an unauthenticated attacker to force any pending order into a failed status by supplying a fake payment method. This unauthorized modification can disrupt transaction flow, result in financial loss, and constitute a denial‑of‑service for merchants. The flaw is classified under CWE‑862 Missing Authorization.

Affected Systems

The vulnerability affects the WooCommerce Stripe Payment Gateway plugin for WordPress. All releases up to and including version 10.7.0 are impacted when Express Checkout is enabled. No other vendors or products are directly affected by this issue.

Risk and Exploitability

The CVSS score of 6.5 indicates moderate severity while the EPSS score of less than 1% suggests a low probability of exploitation. The issue is not listed in the CISA KEV catalog. Attacks would be remote via the public wc_stripe_pay_for_order AJAX endpoint and require knowledge or enumeration of valid order identifiers. The attacker’s only capability is to alter order status, which may lead to financial or operational disruption for merchants.

Generated by OpenCVE AI on June 17, 2026 at 22:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the WooCommerce Stripe plugin to version 10.8.0 or newer where the capability check has been added.
  • If an immediate upgrade is not possible, block or restrict access to the wc_stripe_pay_for_order AJAX endpoint to authenticated users only, for example by adding a capability check or using a security plugin to limit access.
  • Verify that order_key verification is enforced on the endpoint, or manually patch the function to include an ownership check before processing the charge.

Generated by OpenCVE AI on June 17, 2026 at 22:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 16 Jun 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 16 Jun 2026 14:00:00 +0000

Type Values Removed Values Added
First Time appeared Woocommerce
Woocommerce stripe Payment Gateway
Wordpress
Wordpress wordpress
Vendors & Products Woocommerce
Woocommerce stripe Payment Gateway
Wordpress
Wordpress wordpress

Tue, 16 Jun 2026 09:45:00 +0000

Type Values Removed Values Added
Description The WooCommerce Stripe Payment Gateway plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the `ajax_pay_for_order()` function in all versions up to, and including, 10.7.0 This is due to a missing order ownership or order_key verification when processing payment for an order via the `wc_stripe_pay_for_order` WC-AJAX endpoint. The function only validates a nonce (which is publicly available on any WooCommerce page where Express Checkout is enabled), but does not verify that the requesting user owns the target order and is allowed to modify it. This makes it possible for unauthenticated attackers to force any pending order into a failed status by providing a fake payment method, causing a payment exception that updates the order status to "failed" via sequential order ID enumeration.
Title WooCommerce Stripe Payment Gateway <= 10.7.0 - Missing Authorization to Unauthenticated Order Status Manipulation via 'order' Parameter
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L'}


Subscriptions

Woocommerce Stripe Payment Gateway
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-06-16T16:16:27.503Z

Reserved: 2026-02-11T21:28:44.561Z

Link: CVE-2026-2381

cve-icon Vulnrichment

Updated: 2026-06-16T16:16:23.326Z

cve-icon NVD

Status : Deferred

Published: 2026-06-16T10:16:26.827

Modified: 2026-06-16T15:22:49.577

Link: CVE-2026-2381

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-17T22:45:13Z

Weaknesses