CVE-2026-89100: Payment Plugins for Stripe WooCommerce <= 4.0.17 - Reflected DOM-Based Cross-Site Scripting via '#response' URL Fragment
The Payment Plugins for Stripe WooCommerce plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via '#response' URL Fragment in all versions up to, and including, 4.0.17 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation requires that the 'Generic Errors' setting is unchecked, causing getErrorMessage() to return the raw Stripe error string unchanged rather than substituting a mapped safe message.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Check/enable the 'Generic Errors' setting so getErrorMessage() substitutes a mapped safe message instead of returning the raw Stripe error string.
Payment Plugins for Stripe WooCommerce Generic Errors = checked
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Deployments running Payment Plugins for Stripe WooCommerce version 4.0.17 or earlier are affected only when the plugin's 'Generic Errors' setting is unchecked. The issue is triggered through the '#response' URL fragment.
What does an attacker need to exploit it?
An attacker does not need authentication and can craft a URL containing a malicious response fragment. A user must access the injected page for the script to execute.
What can be done if updating is not immediately possible?
Ensure that the 'Generic Errors' setting is enabled (not unchecked). This causes the plugin to substitute a mapped safe message instead of returning the raw Stripe error string.