Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public guest checkout
-
DeliveryCraft wpcpo- multipart field name with payload
-
ExploitSubmit order, payload stored in order meta
-
ExecutionAdmin opens order in wp-admin
-
ImpactScript executes in admin session
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 | Requires that the site runs WPC Product Options for WooCommerce ≤4.0.5 with WooCommerce guest checkout enabled and reachable, so an unauthenticated attacker can submit an order. The payload must be delivered as a multipart/form-data Content-Disposition field name beginning with the 'wpcpo-' prefix, relying on PHP's RFC1867 parser preserving the raw field name; it is stored into order item meta. Execution is deferred and conditional: an authenticated user (realistically a store administrator viewing the order in wp-admin) must open the affected page for the stored script to fire, which bounds real-world impact despite the unauthenticated injection step. |
| Impact | This is a legitimate priority for any site running the affected plugin, though not a top-tier emergency. The CVSS 7.2 (HIGH) vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N is internally consistent with the description: a network-reachable, low-complexity, unauthenticated flaw whose scope changes (S:C) because the payload stored at guest checkout executes in a different security context - typically the WooCommerce admin's authenticated session when they view the order. The unauthenticated vector (PR:N) via guest checkout is the key risk multiplier, since it removes the usual barrier for stored XSS and makes it exploitable by any anonymous visitor. Mitigating the severity, impact is limited (C:L/I:L/A:N) to script execution in a victim's browser rather than direct server compromise, and execution depends on an authenticated user (most plausibly a store administrator) subsequently opening the poisoned order. No EPSS score was supplied, so exploitation probability cannot be quantified; it is not listed in CISA KEV and no POC is referenced, so there is no evidence of active exploitation or public exploit code. The signals are not conflicting - they align on a real-but-moderate stored-XSS issue. The primary caveat: this was reported by Wordfence and the source code lines are cited, but no independent vendor (WPClever) advisory or confirmed patched version is present in the input, so remediation details should be verified with the vendor. |
| Exploit ScenarioDerived | An anonymous attacker places a guest-checkout order on a WooCommerce store running the plugin, crafting the multipart form so a Content-Disposition field name begins with 'wpcpo-' and contains a JavaScript payload. PHP's RFC1867 multipart parser preserves the field name byte-for-byte, and the plugin stores it unsanitized into order item meta. When a store administrator later opens that order in wp-admin, the script executes in their authenticated session. No public exploit code is referenced in the available data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
Stored cross-site scripting in WPC Product Options for WooCommerce 4.0.5 and earlier allows unauthenticated attackers to inject arbitrary JavaScript into WooCommerce order item meta and have it execute in a store administrator's browser session. The injection happens through a guest-checkout path where the malicious payload is placed inside a multipart/form-data Content-Disposition field name prefixed with 'wpcpo-', a technique that bypasses the plugin's sanitization because PHP's RFC1867 parser preserves raw field names byte-for-byte; the script then fires when a privileged user (realistically an admin reviewing the order in wp-admin) opens the affected page. At CVSS 7.2 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) and with authentication requirements confirmed as unauthenticated (PR:N) by the vector, the injection step is easy to reach on any shop with guest checkout enabled, but the deferred, victim-triggered execution and the need for an admin to view the poisoned order bound the practical impact; no public exploit code was identified at time of analysis and there is no CISA KEV entry.
RemediationAI
No vendor-published patched version number is confirmed in the available data: the only remediation artifact is an upstream WordPress.org changeset for wpc-product-options (https://plugins.trac.wordpress.org/changeset?reponame=&old=3712354%40wpc-product-options&new=3712354%40wpc-product-options), so treat this as upstream fix available (commit/changeset) with a released patched version not independently confirmed - check the plugin's changelog and update to the first release published after 4.0.5, verifying the class-cart.php escaping fix is present, and consult the Wordfence advisory for vendor guidance. If an update cannot be applied immediately, the highest-value compensating control is to disable guest checkout in WooCommerce (Settings > Accounts & Privacy) or require account creation/login before order submission, which removes the unauthenticated injection path entirely at the cost of conversion friction; alternatively, temporarily deactivate the WPC Product Options plugin if its functionality is non-critical. Restricting administrative access (limiting wp-admin order-viewing to trusted operators, forcing re-authentication, and using a hardened admin session) reduces the chance that a stored payload is ever rendered, though it does not remove the injection. A WAF or reverse-proxy rule that inspects multipart/form-data bodies and rejects or strips Content-Disposition field names beginning with 'wpcpo-' that contain angle brackets or script syntax will block known exploit attempts but is signature-dependent and can be bypassed by encoding variants, so it should be considered a stopgap. Purging existing order item meta for any suspicious 'wpcpo-' keys already stored in wp_postmeta is also advisable, since patching the plugin prevents new injections but does not remove payloads already persisted in the database.
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 flaw is a classic CWE-79 stored cross-site scripting issue rooted in missing input sanitization and missing output escaping in the WooCommerce plugin 'WPC Product Options for WooCommerce' by WPClever (CPE cpe:2.3:a:wpclever:wpc_product_options_for_woocommerce:*:*:*:*:*:*:*:*). The technically interesting element is the delivery vector: instead of injecting through ordinary POST values or order notes, the payload is carried in the name attribute of a multipart/form-data field - specifically a Content-Disposition field name beginning with the plugin's 'wpcpo-' prefix. PHP's RFC1867 multipart parser (the code that populates $_POST and file arrays from multipart bodies) preserves these raw field names without normalizing or rejecting special characters, so characters that would normally be filtered by WordPress's request sanitizers survive intact and are later persisted into order item meta by the plugin's cart handling code (class-cart.php lines referenced in the advisory, including the code paths around lines 336, 537, 573, 579 and 792 in the 4.0.5 tag). Because the data is written to order meta and rendered back into administrative order views without contextual escaping, the injected script executes in the privileged wp-admin context, which is reflected in the CVSS scope change (S:C) - the vulnerable component is the storefront-facing checkout, but the compromised security authority is the administrator's browser session. This makes the bug useful for session-riding, admin-account takeover via CSRF-style requests, or injection of persistent backdoors into the WordPress installation.
Know when Wpc Product Options For 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:C/C:L/I:L/A:N
Unauthenticated guest checkout gives PR:N/AV:N/AC:L; stored payload executes in the separate admin context so S:C; XSS yields limited C:L/I:L and no A impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The WPC Product Options for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via wpcpo-* Array Key via Multipart Field Name in all versions up to, and including, 4.0.5 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. This is exploitable via guest checkout without authentication because the malicious payload is embedded in a multipart Content-Disposition field name beginning with 'wpcpo-', which PHP's RFC1867 parser preserves byte-for-byte and stores into order item meta.
Executive ViewAI
WPC Product Options for WooCommerce (versions 4.0.5 and earlier) contains a stored cross-site scripting flaw that allows an unauthenticated visitor to plant malicious code inside WooCommerce order data, which then executes in a store administrator's browser when that order is reviewed. Because the injection path only requires guest checkout to be enabled, virtually any storefront running the plugin is reachable without the attacker holding an account, and the payload is triggered by routine administrative work. The consequence for the organization is exposure of the administrator's authenticated session, order and customer data, and storefront management controls, with no vendor patch currently available.
No vendor-released patch identified at time of analysis; no public exploit identified at time of analysis. Interim mitigations: deactivate WPC Product Options for WooCommerce 4.0.5 and earlier, or disable guest checkout to remove the unauthenticated injection path; restrict and monitor wp-admin access; apply a strict Content-Security-Policy on administrative pages; filter or reject multipart/form-data field names prefixed with 'wpcpo-' at the WAF or application layer; audit and clean existing WooCommerce order item meta for injected JavaScript; and track the vendor advisory for a fixed release above 4.0.5.
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.
EUVD-2026-91952
GHSA-vgp2-j64f-vf93
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB