
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-2381 is a Missing Authorization vulnerability in the WooCommerce Stripe Payment Gateway plugin for WordPress that allows unauthenticated attackers to force any pending order into a failed status. The flaw exists in the ajax_pay_for_order() function and affects all plugin versions up to and including 10.7.0. It was published on June 16, 2026, with a patch available in version 10.8.0. The vulnerability carries a CVSS v3.1 base score of 6.5 (Medium) (GitHub Advisory, Wordfence).
The root cause is a missing authorization check (CWE-862) in the ajax_pay_for_order() function exposed via the wc_stripe_pay_for_order WC-AJAX endpoint. The function validates only a nonce, which is publicly accessible on any WooCommerce page where Express Checkout is enabled, but performs no verification that the requesting user owns or is authorized to modify the target order. An unauthenticated attacker can exploit this by enumerating sequential order IDs and submitting a fake payment method to the endpoint, triggering a payment exception that transitions the order status to "failed". The vulnerable code path is visible in the plugin's class-wc-stripe-express-checkout-ajax-handler.php at line 355 and class-wc-gateway-stripe.php at line 523 (GitHub Advisory, CleanTalk Research).
Successful exploitation allows unauthenticated remote attackers to disrupt WooCommerce store operations by forcing any pending order into a "failed" status, effectively denying legitimate customers the ability to complete purchases. This impacts both integrity (unauthorized order status modification) and availability (disruption of the payment and order fulfillment workflow). There is no confidentiality impact, as the vulnerability does not expose order data or payment credentials, but large-scale enumeration could cause significant business disruption for affected merchants (GitHub Advisory, Wordfence).
wc_stripe_pay_for_order WC-AJAX endpoint (e.g., /?wc-ajax=wc_stripe_pay_for_order) with the enumerated order ID, the obtained nonce, and a fake/invalid payment method token./?wc-ajax=wc_stripe_pay_for_order from a single IP or distributed IPs, especially with sequentially incrementing order ID parameters.wc_stripe_pay_for_order endpoint with varying order IDs and no authenticated session cookies; Stripe API logs showing a surge of failed payment attempts with invalid payment method tokens.Update the WooCommerce Stripe Payment Gateway plugin to version 10.8.0 or later, which introduces proper order ownership verification in the ajax_pay_for_order() function (GitHub Advisory, Plugin Changeset). As a temporary workaround, consider disabling the Express Checkout feature to prevent the nonce from being publicly exposed, or implement a Web Application Firewall (WAF) rule to rate-limit or block anomalous POST requests to the wc_stripe_pay_for_order endpoint. Upgrading to the patched version is the recommended and definitive remediation.
Wordfence included CVE-2026-2381 in its weekly WordPress vulnerability report for the period of June 15–21, 2026, highlighting it as a notable authorization bypass affecting a widely used payment plugin (Wordfence Blog). Sucuri also referenced the vulnerability in its June 2026 vulnerability patch roundup (Sucuri Blog). No significant social media controversy or threat actor attribution has been observed at this time.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."