Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure authenticated WP user to page
-
DeliveryBrowser auto-submits forged CSRF request
-
ExploitMalicious script stored via WPComplete
-
ExecutionStored XSS executes in admin browser
-
ImpactSession hijack or privilege abuse
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim who is an authenticated, privileged WordPress user (e.g., an administrator or user able to persist WPComplete data) to be tricked into visiting an attacker-controlled page or link while their session is active - this is the UI:R user-interaction requirement and the core limiting factor. The attacker needs no credentials of their own (PR:N) but cannot act without the victim's browser submitting the forged request; the flaw stems from missing or inadequate CSRF nonce/token validation on a WPComplete action that writes data later rendered without proper output encoding, enabling the stored XSS. Realistic risk is bounded by the need for social engineering of a logged-in privileged user and by the plugin being installed and active on the target WordPress site (versions up to and including 2.9.5.6). |
| Impact | This is a moderate-priority issue rather than a critical emergency. The CVSS 3.1 score of 7.1 (vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L) reflects a network-reachable, low-complexity flaw requiring no attacker privileges but mandating victim user interaction (UI:R) - characteristic of a CSRF attack where a forged request must be triggered by a logged-in victim. The scope change (S:C) and low confidentiality/integrity/availability impacts are consistent with the stored-XSS payload executing in a different security context (the browser) than the vulnerable component. No EPSS score, KEV listing, POC, or SSVC decision data was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The practical risk is gated by the UI:R requirement: an attacker cannot exploit this autonomously but must lure an authenticated/privileged WordPress user to a malicious page. The reliance on tricking a privileged user, combined with a niche plugin footprint, means this is a real but not widespread or automatable threat - prioritize patching for sites running WPComplete, but it does not warrant the same urgency as an unauthenticated, no-interaction RCE. |
| Exploit ScenarioDerived | An attacker crafts a malicious web page or email containing a forged request targeting a WordPress site running WPComplete. When an authenticated administrator or privileged user visits that page while logged in, the browser automatically submits the forged request, causing a malicious script to be stored in the plugin's data. The stored XSS payload then executes whenever the affected content is rendered. No public exploit was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Stored cross-site scripting can be planted on WordPress sites running the WPComplete plugin through version 2.9.5.6, because a WPComplete write action is performed without adequate CSRF nonce validation (CWE-352) and the stored value is later rendered without sufficient output encoding. Per the CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L) the attacker needs no credentials of their own, but exploitation requires tricking a logged-in, privileged WordPress user into visiting an attacker-controlled page or link while their session is active, which is the primary limiting factor. No public exploit code or confirmed active exploitation was identified at time of analysis, and the net effect is a moderate-priority risk: injected script executes in the site context (scope changed) and can affect other users, but impact to confidentiality, integrity, and availability is each rated Low.
RemediationAI
No vendor-released patch version is confirmed in the available intelligence, so treat any remediation as compensating control work until a fixed WPComplete release is published and validated. The most effective immediate step is to deactivate and, if unused, remove the WPComplete plugin from any WordPress site where completion tracking is not essential; the trade-off is loss of the plugin's course/progress-tracking functionality. If the plugin must stay active, restrict access to the WordPress admin area (IP allowlisting, HTTP auth on /wp-admin and admin-ajax.php), and enforce SameSite=Lax or Strict on WordPress session cookies, accepting that stricter SameSite settings can break legitimate cross-site flows and some SSO or embedded integrations. Deploy WAF or reverse-proxy rules that reject cross-origin state-changing POSTs to admin-ajax.php/admin-post.php lacking a valid nonce or matching referer; expect false positives against legitimate admin traffic and tune before enforcing. Because the sink is stored XSS, a Content-Security-Policy with restrictive script-src also reduces execution, though WordPress admin frequently needs inline scripts and may require nonce-based CSP. Monitor the Patchstack advisory at https://patchstack.com/database/wordpress/plugin/wpcomplete/vulnerability/wordpress-wpcomplete-plugin-2-9-5-6-csrf-to-stored-xss-vulnerability and the plugin's WordPress.org page for a patched release, and upgrade immediately once an exact fixed version is published.
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 cross-site request forgery (CWE-352) in the WordPress plugin WPComplete, published by Liquid Web / StellarWP. WordPress plugins typically gate state-changing actions with nonces (wp_verify_nonce / check_admin_referer) and capability checks; here that protection is missing or inadequate on an action that persists attacker-supplied data through the victim's authenticated session. That persisted value is then emitted into an administrative or front-end page without proper escaping, converting the CSRF into stored XSS - a chained weakness where the CSRF provides the write primitive and the absent output encoding provides script execution. Because the CVSS vector uses S:C, the injected script runs with the privileges of the hosting site's origin and can act against other users of that site rather than being confined to the attacker's own origin. The CPE cpe:2.3:a:liquid_web_/_stellarwp:wpcomplete:*:*:*:*:*:*:*:* covers all releases of the plugin up to and including 2.9.5.6, so any site with that plugin active in the affected range is exposed, independent of theme or other plugins.
Know when Wpcomplete 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:R/S:C/C:L/I:L/A:L
Network-delivered CSRF needing a logged-in victim's interaction, so AV:N/PR:N/UI:R; stored XSS runs in a different context giving S:C with low C/I/A impact.
Primary rating from Vendor (Patchstack).
CVSS VectorVendor: Patchstack
DescriptionCVE.org
Cross-Site Request Forgery (CSRF) vulnerability in Liquid Web / StellarWP WPComplete wpcomplete allows Stored XSS.This issue affects WPComplete: from n/a through 2.9.5.6.
Executive ViewAI
WordPress sites running the WPComplete plugin (versions through 2.9.5.6) are exposed to a stored cross-site scripting flaw in which an unauthenticated attacker can plant malicious script via a write action that lacks CSRF validation, with the payload later executing in the browsers of logged-in users who view the affected content. Because no vendor fix is currently available and success only requires luring a privileged WordPress user to a crafted page or link, administrators, editors, and authenticated visitors could have sessions or content compromised. Leadership should treat this as a high-priority website integrity issue until the component is updated, removed, or otherwise mitigated, especially for customer-facing or high-traffic WordPress properties.
No vendor-released patch identified at time of analysis. Interim mitigations: deactivate or remove WPComplete (through version 2.9.5.6) where it is not essential; restrict plugin write actions to trusted roles; deploy WAF rules targeting CSRF and XSS patterns; enforce a Content Security Policy; and limit privileged-user session exposure to untrusted links.
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.
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
More in Wpcomplete
View allUnauthenticated cross-site scripting in the WPComplete WordPress plugin (versions up to and including 2.9.5.6) allows re
Stored cross-site scripting in the premium (pro) edition of the WPComplete WordPress plugin, affecting all versions up t
EUVD-2026-94929
GHSA-vhxj-w8cf-84xv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB