Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLoad storefront page with Express Checkout enabled
-
DeliveryExtract publicly embedded WC nonce from page source
-
ExploitEnumerate sequential WooCommerce pending order IDs
-
ExecutionPOST fake payment method token to wc_stripe_pay_for_order endpoint
-
PersistTrigger Stripe payment exception in ajax_pay_for_order()
-
ImpactWooCommerce transitions orders to failed status
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The WooCommerce Stripe Express Checkout feature must be enabled on the target store - this is what exposes the public nonce on storefront pages, which is the only credential the endpoint validates. The target orders must be in a 'pending' status (i.e., awaiting payment); already-paid or completed orders are unaffected. No authentication, account registration, or prior order interaction is required from the attacker. Exploitation is limited to degrading order status to 'failed' - no confidential data (customer PII, card numbers) is exposed, and no financial transactions are charged or reversed. Sequential WooCommerce order IDs are predictable integers, making enumeration trivial. Stores that have disabled Express Checkout (Apple Pay / Google Pay / Link) are not vulnerable via this endpoint, as the nonce would not be present on public pages. |
| Impact | The CVSS 3.1 base score of 6.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L) accurately reflects the attack posture: fully network-accessible with zero authentication or user interaction required. While the individual order-level impact appears moderate (I:L, A:L), the operational business risk compounds with scale - an attacker can enumerate and fail entire batches of pending orders rapidly, potentially causing significant revenue loss, customer service disruption, and reputational damage for affected merchants. No EPSS score was provided in the intelligence data; however, given the trivially low complexity (public nonce plus sequential integer order IDs) and the large attack surface of WooCommerce stores globally, real-world exploitability is likely higher than a mid-range CVSS score suggests. There is no CISA KEV listing and no confirmed public POC at time of analysis, but the mechanics are straightforward enough that exploitation could be independently developed quickly. The primary limiting factor is that Express Checkout must be enabled - stores that have disabled this feature are not exposed through this path. No conflicting signals exist between the CVSS vector and the description. |
| Exploit ScenarioDerived | An attacker visits any WooCommerce storefront page that renders Express Checkout buttons (product pages, cart, checkout) and extracts the publicly embedded WC nonce from the page source or JavaScript globals. The attacker then writes a simple script that iterates integer order IDs starting from 1, issuing POST requests to |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 16, 2026
Unauthenticated order sabotage in WooCommerce Stripe Payment Gateway (all versions ≤10.7.0) allows any remote attacker to force pending WooCommerce orders into a 'failed' state without owning or authenticating against those orders. The root cause is a missing authorization check on the ajax_pay_for_order() function: the only gate is a nonce that is publicly available on any page where Express Checkout is enabled, providing no actual access control. Exploitation is trivially automatable via sequential order ID enumeration, enabling targeted disruption of an entire store's pending transactions. No public exploit has been identified at time of analysis, and no KEV listing exists, but the attack complexity is effectively zero for stores with Express Checkout active.
RemediationAI
Upgrade the WooCommerce Stripe Payment Gateway plugin to version 10.8.0 or later, as the WordPress Trac changeset (https://plugins.trac.wordpress.org/changeset?old_path=%2Fwoocommerce-gateway-stripe/tags/10.7.0&new_path=%2Fwoocommerce-gateway-stripe/tags/10.8.0) confirms the authorization fix was applied between the 10.7.0 and 10.8.0 tags. Update via the WordPress admin plugin dashboard or WP-CLI (wp plugin update woocommerce-gateway-stripe). As an interim compensating control for stores that cannot immediately patch, disabling the Express Checkout feature removes public nonce availability from the storefront, which eliminates the accessible attack path through the wc_stripe_pay_for_order endpoint - note that this trade-off disables Apple Pay, Google Pay, and Link payment buttons for customers, which may have conversion impact. Additionally, deploying a Web Application Firewall rule to block unauthenticated POST requests to /?wc-ajax=wc_stripe_pay_for_order can reduce exposure, though WAF rules should not substitute for patching. The authoritative Wordfence advisory is at https://www.wordfence.com/threat-intel/vulnerabilities/id/ab3b52f7-e2c3-44f7-8e19-b6c51ccd50e0.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability exists in the WooCommerce Stripe Payment Gateway WordPress plugin (CPE: cpe:2.3:a:woocommerce:woocommerce_stripe_payment_gateway:*:*:*:*:*:*:*:*), specifically within the ajax_pay_for_order() method of the Express Checkout AJAX handler (class-wc-stripe-express-checkout-ajax-handler.php, confirmed at line 355 in the 10.3.1 tag). The function is exposed via the wc_stripe_pay_for_order WC-AJAX endpoint, WordPress/WooCommerce's unauthenticated AJAX dispatch system. CWE-862 (Missing Authorization) applies directly: the function performs a nonce check but omits both order ownership verification and order_key validation. Because the nonce is embedded in any WooCommerce storefront page where Express Checkout is rendered, it is publicly discoverable by any visitor - effectively neutralizing the nonce as a security control. Supplying a fake payment method ID triggers a Stripe payment exception in class-wc-gateway-stripe.php (line 523 in 10.3.1 tag), which WooCommerce's order state machine interprets as a payment failure and updates the order status to 'failed'. The WordPress Trac changeset between tags 10.7.0 and 10.8.0 indicates the fix was applied in the Express Checkout AJAX handler.
Know when Woocommerce gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
Network endpoint with publicly available nonce requires no authentication; impact is limited to order status corruption with no confidentiality exposure.
Primary rating from Vendor (Wordfence).
CVSS VectorNVD
DescriptionNVD
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Woocommerce
View allThe WooCommerce plugin through 3.x for WordPress has a Directory Traversal Vulnerability via a /wp-content/plugins/wooco
Unauthenticated remote code execution in Print Invoice & Delivery Notes for WooCommerce through 5.8.0 lets remote attack
Unauthenticated arbitrary file upload in Addify's Request a Quote for WooCommerce plugin, affecting all versions up to a
The WooCommerce Help Scout WordPress plugin before 2.9.1 (https://woocommerce.com/products/woocommerce-help-scout/) allo
WooCommerce 7.1.0 contains a remote code execution vulnerability that allows attackers to execute arbitrary PHP code by
Blind SQL injection in the WBW Product Filter WordPress plugin (woo-product-filter) through 3.4.6 lets remote attackers
Unauthenticated path traversal in OrderConvo (the "Admin and Customer Messages After Order for WooCommerce" plugin), aff
Unauthenticated remote attackers can seize control of the payment configuration on WordPress stores running the Fundiin
Cross-site request forgery in the Komfortkasse for WooCommerce WordPress plugin before 1.4.9 can let an unauthenticated
Ultimate WooCommerce Gift Cards 3.0.2 is affected by a file upload vulnerability in the Custom GiftCard Template that ca
Unauthenticated attackers can exploit the Walletdoc Payment Gateway for WooCommerce plugin before version 1.8.5 to execu
Unauthenticated SQL injection in the ELEX WooCommerce Request a Quote WordPress plugin (all versions before 2.4.1) allow
EUVD-2026-37059
GHSA-xpf8-p6c2-qcp9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB