Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain public WooCommerce cart nonce
-
DeliverySubmit crafted bwfan_cart_id at guest checkout
-
ExploitStore malicious payload in order meta
-
ExecutionAction Scheduler reloads meta on status change, firing time-based SQLi
-
ImpactInfer and extract sensitive database data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a WooCommerce store running the FunnelKit Automations plugin (<= 3.8.5.2) with its abandoned-cart module active and guest Store API checkout available. The attacker needs only a publicly obtainable WooCommerce cart nonce (no authentication) to submit a crafted bwfan_cart_id during checkout. The decisive limiting factor is that the injection does NOT execute at submission time: it is a persisted, blind, time-based attack that fires only when a scheduled Action Scheduler job later reloads the stored meta upon an order status transition out of pending, failed, or cancelled. Exploitation therefore depends on that subsequent status transition occurring and on blind timing-based inference, which slows and constrains data extraction. |
| Impact | Signals are moderate and internally consistent rather than alarming. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) scores 7.5 and the PR:N confirms unauthenticated reach, but the vulnerability is a time-based BLIND SQL injection (C:H, I:N, A:N), so data extraction is slow and inferential, not a direct dump. Critically, the description establishes that exploitation is a two-step PERSISTED attack: the payload is stored during a guest Store API checkout but only executes when a scheduled Action Scheduler job later reloads the meta upon an order status transition out of pending, failed, or cancelled. That deferred, condition-dependent trigger meaningfully reduces real-world reliability and is why the vendor CVSS of 7.5 arguably overstates ease of exploitation. No EPSS score was supplied, the CVE is NOT in CISA KEV, and no public exploit code is referenced (the links are the Wordfence advisory, plugin source lines, and the fixing changeset). The vuln.today decision label is 'this_week' - a prioritized-but-not-emergency signal. Net: a genuine unauthenticated SQLi worth patching promptly, but current evidence points to it being a prompt-patch item rather than an actively-exploited emergency; absence of EPSS/KEV/POC means exploitation likelihood is inferred, not confirmed. |
| Exploit ScenarioDerived | An unauthenticated attacker obtains a publicly available WooCommerce cart nonce, then submits a crafted bwfan_cart_id value during a guest Store API checkout, planting a malicious payload in stored order meta. Because the flaw is blind and time-based, the injected SQL only fires later when a scheduled Action Scheduler job reloads that meta on an order status transition out of pending, failed, or cancelled, at which point the attacker infers sensitive database contents (e.g., user credentials or secrets) from response timing. No public exploit code is identified in the provided references. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 31, 2026
Time-based blind SQL injection in FunnelKit Automations 3.8.5.2 and earlier allows unauthenticated attackers to append extra SQL to the plugin's existing queries and extract sensitive data from the WordPress database. Any store visitor who can obtain a publicly available WooCommerce cart nonce can submit a crafted bwfan_cart_id during a guest Store API checkout, but the payload is persisted rather than executed immediately and only fires when a scheduled Action Scheduler job reloads the stored meta on an order status transition out of pending, failed, or cancelled, making extraction blind and slow. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; the vendor scores it 7.5, while our assessment raises attack complexity to AC:H to reflect the deferred, second-order trigger and timing-based inference.
RemediationAI
Vendor fix: changeset 3759554 in the plugin trunk (https://plugins.trac.wordpress.org/changeset/3759554/wp-marketing-automations/trunk/includes/db/class-bwfan-model-automation-contact.php) addresses the unprepared query in the automation-contact model; this is an upstream fix available as a changeset, and a released patched version number above 3.8.5.2 is not independently confirmed in the supplied data, so verify the plugin's current version on wordpress.org and the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/22399b2a-75e5-428d-a9a2-8b42e23c1825?source=cve) before relying on an upgrade. Given the priority label this_week, sites that cannot update immediately should treat the abandoned-cart module (referenced in modules/abandoned-cart/class-bwfan-abandoned.php, lines 414 and 1007) as the vulnerable path and consider disabling that module, accepting the loss of abandoned-cart capture and recovery emails, and/or requiring authenticated checkout so that guest Store API submissions carrying an attacker-controlled bwfan_cart_id are no longer reachable - with the trade-off of reduced conversion tracking and friction for guest buyers. Detection should focus on anomalous bwfan_cart_id meta values stored during guest checkouts and on slow or delayed Action Scheduler jobs, since the injection only manifests during the later order status transition.
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 target is the WordPress plugin FunnelKit Automations (wp-marketing-automations), an email marketing automation and CRM layer that hooks into WooCommerce checkout and abandoned-cart recovery. The root cause is CWE-89: the bwfan_cart_id value supplied by an unauthenticated guest during a Store API checkout is stored without sufficient escaping, and later interpolated into an existing SQL statement in the abandoned-cart and automation-contact code paths without prepared-statement binding, as reflected in the referenced 3.8.5.2 sources (class-bwfan-abandoned.php around lines 414 and 1007, and includes/db/class-bwfan-model-automation-contact.php around line 132). Because the injected value is written to order/meta storage first and only re-read by a scheduled Action Scheduler job triggered by an order status transition out of pending, failed, or cancelled, this is a second-order (persisted) injection rather than an inline one. The query is executed blind and inferred through time delays, which is why our assessed vector uses AC:H even though the vendor's vector uses AC:L; the confidentiality impact is high with no integrity or availability effect (C:H/I:N/A:N, scope unchanged). The SQL surface is the WordPress/WooCommerce database reachable by the plugin's database user, so exposed data is bounded by that account's privileges.
Know when Woocommerce 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:U/C:H/I:N/A:N
Unauthenticated network reach keeps AV:N/PR:N/UI:N, but the injection fires only on a later order-status transition and scheduled job beyond the attacker's control, warranting AC:H; blind SQLi gives C:H, I:N, A:N.
Primary rating from Vendor (Wordfence).
CVSS VectorNVD
DescriptionNVD
The FunnelKit Automations - Email Marketing Automation and CRM for WordPress & WooCommerce plugin for WordPress is vulnerable to time-based SQL Injection via the 'bwfan_cart_id' parameter in all versions up to, and including, 3.8.5.2 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. Exploitation is a two-step persisted attack: an unauthenticated attacker submits a crafted bwfan_cart_id value during a guest Store API checkout (requiring only a publicly obtainable WooCommerce cart nonce), and the injection fires when a scheduled Action Scheduler job later reloads the stored meta upon order status transition out of pending, failed, or cancelled.
Executive ViewAI
A high-severity vulnerability in the FunnelKit Automations plugin for WordPress, affecting versions up to 3.8.5.2, enables unauthenticated attackers to extract sensitive data from the store's database via time-based blind SQL injection. Any store visitor can potentially exploit this flaw during guest checkout by manipulating a cart ID, with the malicious payload activating later during scheduled order processing. This poses a significant risk to data confidentiality, including customer and order information, and could lead to regulatory and reputational damage.
No vendor-released patch identified at time of analysis. Interim mitigations include disabling the FunnelKit Automations plugin until a patch is available, restricting guest checkout functionality, and deploying WAF rules to detect and block SQL injection attempts targeting the bwfan_cart_id parameter.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
More in Woocommerce
View allThe WooCommerce plugin through 3.x for WordPress has a Directory Traversal Vulnerability via a /wp-content/plugins/wooco
Unauthenticated remote code execution in Print Invoice & Delivery Notes for WooCommerce through 5.8.0 lets remote attack
Unauthenticated arbitrary file upload in Addify's Request a Quote for WooCommerce plugin, affecting all versions up to a
The WooCommerce Help Scout WordPress plugin before 2.9.1 (https://woocommerce.com/products/woocommerce-help-scout/) allo
WooCommerce 7.1.0 contains a remote code execution vulnerability that allows attackers to execute arbitrary PHP code by
Blind SQL injection in the WBW Product Filter WordPress plugin (woo-product-filter) through 3.4.6 lets remote attackers
Unauthenticated path traversal in OrderConvo (the "Admin and Customer Messages After Order for WooCommerce" plugin), aff
Unauthenticated remote attackers can seize control of the payment configuration on WordPress stores running the Fundiin
Ultimate WooCommerce Gift Cards 3.0.2 is affected by a file upload vulnerability in the Custom GiftCard Template that ca
Unauthenticated attackers can exploit the Walletdoc Payment Gateway for WooCommerce plugin before version 1.8.5 to execu
Unauthenticated SQL injection in the ELEX WooCommerce Request a Quote WordPress plugin (all versions before 2.4.1) allow
Stored cross-site scripting in the PDF Invoices & Packing Slips for WooCommerce plugin (5.16.2 up to, but not including,
EUVD-2026-114595
GHSA-3h7v-9626-9c6v
NVD
CVE.org
EPSS
Exploit-DB