Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify WordPress site with Forminator 1.56.0-1.57.0 and Stripe-enabled form
-
DeliveryLocate public URL of page hosting the Stripe-configured Forminator form
-
ExploitCraft redirect URL with JavaScript payload in 'error_description' parameter
-
InstallDeliver crafted URL to victim via phishing or watering-hole
-
C2Victim navigates to URL, front.stripe.js writes unsanitized payload to DOM
-
ExecuteArbitrary JavaScript executes in victim browser session
-
ImpactSteal session tokens or perform authenticated actions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two conditions must both be met for exploitation: the target WordPress site must have Forminator Forms version 1.56.0 through 1.57.0 installed, and the specific page the victim visits must host a Forminator form configured to use the Stripe Checkout Sessions payment API. The Stripe Checkout Sessions integration became the plugin default in version 1.56.0, so any installation upgraded to 1.56.0 or 1.57.0 without explicitly selecting a different payment method is automatically in scope. Beyond the server-side configuration requirement, the victim must be socially engineered into clicking a crafted URL - the attack cannot self-propagate or fire without that user navigation step. Sites running Forminator versions prior to 1.56.0, or those using Forminator solely for non-payment forms (contact, survey, etc.) without Stripe Checkout Sessions configured on any form, are not exposed to this vector. Authentication is not required by the attacker; however, the impact of a successful attack scales with the privilege level of the victim user (unauthenticated site visitors yield less value than authenticated administrators). |
| Impact | The provided CVSS 3.1 vector scores 7.2 using UI:N, which is atypical for reflected XSS - victims must generally navigate to a crafted URL, placing this firmly in UI:R territory (which would yield 6.1). This metric discrepancy warrants verification with Wordfence or NVD before using the published score for SLA prioritization. No EPSS score was provided in the input data, and the CVE carries no CISA KEV listing, indicating no confirmed active exploitation at time of analysis. Despite the absence of confirmed exploitation, the real-world exposure is broader than typical XSS findings: the Stripe Checkout Sessions feature became the default in version 1.56.0, meaning sites that updated without reviewing payment settings are automatically in scope - a configuration-by-default condition that expands the population of vulnerable deployments considerably. The Wordfence disclosure pinpoints four distinct vulnerable call sites in publicly browsable plugin source, lowering the barrier for independent exploit development. Even a mid-sized municipal IT team in sopot running WordPress for constituent payment services should treat this as an immediate patch priority, given the fix (1.57.0.1) is low-risk to deploy and the attack requires no server-side access or authentication. The S:C scope change in the CVSS vector correctly reflects that successful exploitation affects the victim's browser context, enabling session token theft or authenticated action injection against WordPress users. |
| Exploit ScenarioDerived | An attacker identifies a public-facing WordPress page hosting a Forminator form with Stripe Checkout Sessions enabled - identifiable by inspecting page source for Forminator Stripe initialization markup - and constructs a URL to that page with a JavaScript payload embedded in the 'error_description' parameter, mimicking the redirect pattern Stripe uses after a failed payment. The attacker delivers this crafted URL to a target user (e.g., a site administrator) via phishing email or a compromised third-party site. When the victim navigates to the URL, front.stripe.js reads the unsanitized parameter and writes it to the DOM, executing the attacker's script in the victim's browser session, which could steal WordPress authentication cookies or perform authenticated admin actions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
DOM-based reflected XSS in the Forminator Forms WordPress plugin (all versions up to and including 1.57.0) allows unauthenticated network attackers to execute arbitrary JavaScript in victim browsers by embedding a payload in the 'error_description' URL parameter, which the plugin's front.stripe.js writes to the DOM without sanitization. The attack surface expanded significantly when Stripe Checkout Sessions became the plugin's default payment method in version 1.56.0, meaning any site that upgraded to 1.56.0 or 1.57.0 without changing payment settings is exposed on pages hosting a Forminator form. No public exploit has been identified at time of analysis, but the vulnerable code paths at four specific locations in front.stripe.js are publicly documented in Wordfence's disclosure, with the fix released in version 1.57.0.1.
RemediationAI
Upgrade Forminator Forms to version 1.57.0.1 or later; the fix is documented in the WordPress plugin repository changeset at plugins.trac.wordpress.org/changeset comparing the 1.57.0 and 1.57.0.1 tags, and the full Wordfence disclosure is available at wordfence.com/threat-intel/vulnerabilities/id/a669f05d-67c7-45ac-ae56-e7c637ece880. For sites unable to patch immediately, disabling the Stripe Checkout Sessions integration on all Forminator forms eliminates the vulnerable code path entirely, though this disables Stripe-based payment collection and requires an alternative payment method configuration. A WAF rule blocking or sanitizing the 'error_description' parameter on Forminator form pages can reduce risk but should not be considered a complete mitigation, since DOM-based XSS payloads may be URL-encoded in ways that bypass naive string matching and the vulnerable code executes client-side. Sites running versions prior to 1.56.0 without Stripe Checkout Sessions configured are not exposed to this specific vector and do not require emergency action, though upgrading to 1.57.0.1 is still advised for defense in depth.
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 resides in front.stripe.js, the client-side JavaScript module handling Stripe payment integration within the Forminator Forms plugin (CPE: cpe:2.3:a:wpmudev:forminator_forms_-_contact_form,_payment_form_&_custom_form_builder:*:*:*:*:*:*:*:*). When a Stripe Checkout Session completes or fails, Stripe redirects the browser back to the originating page with URL parameters including 'error_description'. The plugin's JavaScript reads this value directly from the URL fragment or query string and writes it unsanitized into the DOM at multiple locations - confirmed at lines 196, 468, 543, and 1539 of front.stripe.js in version 1.56.0. This is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation) manifesting as DOM-based reflected XSS, where the malicious payload never transits the server, making server-side WAF interception unreliable. The multi-location occurrence suggests the error_description value is consumed by several distinct rendering functions within the payment flow UI.
Know when Wordpress Plugin 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:C/C:L/I:L/A:N
Reflected XSS requires the victim to follow a crafted link (UI:R); scope changes because attacker script executes in the victim's browser context (S:C), not on the web server.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Forminator Forms - Contact Form, Payment Form & Custom Form Builder plugin for WordPress is vulnerable to DOM-Based Reflected Cross-Site Scripting via the 'error_description' parameter in all versions up to, and including, 1.57.0 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. The vulnerability is only triggerable on pages hosting a Forminator form configured to use the Stripe Checkout Sessions payment API, which became the default in 1.56.0.
Executive ViewAI
The Forminator Forms WordPress plugin (versions through 1.57.0) contains a DOM-based cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious JavaScript into victim browsers through payment form URLs. Organizations using this plugin for payment processing are at risk of credential theft, form manipulation, and malware distribution to customers.
Vendor-released patch: Version 1.57.0.1
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-65316
GHSA-5mm9-h6w4-7v8m
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB