CVE-2026-110285 in WP Stripe Checkout Plugininfo

Summary

by MITRE • 10/25/2026

The WP Stripe Checkout WordPress plugin before 1.2.2.62 does not verify the Stripe webhook signature when no signing secret is configured, which is its default state, allowing unauthenticated attackers to forge a payment completion notification and create a completed order without paying.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/25/2026

The vulnerability identified in WP Stripe Checkout versions prior to 1.2.2.62 represents a critical failure in authentication logic within the plugin's webhook handling mechanism. Webhooks are essential for asynchronous communication between external services, such as payment gateways like Stripe, and web applications. They allow the application to react to events that occur outside its immediate request-response cycle, such as successful payments or subscription updates. In this specific implementation, the developer intended to use a signing secret to verify the integrity of incoming webhook requests. However, the code logic contains a flaw where signature verification is bypassed entirely when no signing secret has been explicitly configured by the administrator. Since not configuring a custom signing secret is often the default state for many installations or represents an oversight during initial setup, this condition triggers frequently in production environments.

From a technical perspective, the core issue lies in the conditional check performed before validating the webhook payload. The application checks if a specific configuration variable representing the signature key exists and has a non-empty value. If this variable is null or empty, which corresponds to the default state where no secret is set, the code proceeds directly to process the incoming data without performing any cryptographic verification of the request's origin. This effectively disables the security control designed to prevent tampering with webhook payloads. An attacker can exploit this by crafting a malicious HTTP POST request that mimics the structure and content of a legitimate Stripe payment success notification. Because the server does not verify the HMAC signature, it accepts the forged payload as authentic.

The operational impact of this vulnerability is severe for e-commerce websites relying on this plugin to process transactions. An unauthenticated attacker can forge a webhook event indicating that a customer has successfully completed a purchase. Upon receiving this falsified notification, the WordPress site automatically updates its internal database and order management system to reflect a completed transaction. This results in the creation of orders with paid status without any actual money changing hands through Stripe. Consequently, merchants may ship goods or provide digital services for free, leading directly to financial loss. Furthermore, this flaw can disrupt inventory tracking systems by falsely depleting stock levels based on phantom sales, causing operational inefficiencies and potential customer dissatisfaction when items are later found to be unavailable due to erroneous data entries.

This vulnerability aligns with CWE-347, which describes Improper Verification of Cryptographic Signature, as the application fails to ensure that a received message has not been tampered with by an unauthorized party. It also maps to MITRE ATT&CK technique T1569.002, System Services: Service Execution, specifically in the context of abusing legitimate system processes or integrations for malicious purposes, although more accurately it fits under Injection and Web Application Attack vectors where trusted inputs are manipulated. The lack of input validation on critical security parameters allows an attacker to bypass authentication controls entirely through a simple HTTP request manipulation rather than exploiting complex code execution flaws.

To mitigate this vulnerability, administrators must immediately upgrade the WP Stripe Checkout plugin to version 1.2.2.62 or later, where the logic has been corrected to enforce signature verification regardless of configuration states. In addition to upgrading, it is crucial for developers and site owners to ensure that a strong, unique signing secret is generated via the Stripe dashboard and properly configured within the WordPress admin settings. This ensures that every webhook request undergoes rigorous cryptographic validation before any state-changing actions are taken. Regular security audits should also be conducted to verify that all third-party integrations enforce strict authentication checks for incoming asynchronous events, preventing similar bypasses in other modules or plugins that may rely on external service callbacks.

Responsible

WPScan

Reservation

10/13/2026

Disclosure

10/25/2026

Moderation

accepted

EPSS

0.00197

KEV

no

Activities

low

Sources

Do you know our Splunk app?

Download it now for free!