Skip to main content

WPComplete CVE-2026-77820

| EUVDEUVD-2026-83465 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-19 Wordfence GHSA-79fj-jcjp-5w4v
6.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain contributor-level WordPress account
  2. Delivery
    Author page with malicious 'empty' shortcode attribute
  3. Exploit
    Store unsanitized script payload
  4. Execution
    Higher-privileged user views injected page
  5. Impact
    Script executes in victim browser context

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 the PREMIUM/pro edition of the WPComplete plugin (version ≤2.9.9.0) installed and active - the free version is not affected. The attacker must hold an authenticated WordPress account with contributor-level privileges or above (PR:L), and must be able to author/edit content using the vulnerable 'empty' shortcode attribute. Execution is triggered when any user subsequently views the injected page; while CVSS marks UI:N for the attacker, real impact depends on a victim visiting the malicious page. These factors - pro-only scope plus required authenticated contributor access - substantially limit realistic exploitation despite the network attack vector.

Impact

This is a moderate, not urgent, priority. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) reflects a stored XSS reachable over the network with low complexity, but it requires PR:L - an authenticated contributor-level (or higher) account - which meaningfully limits the attacker pool to users who already have a foothold in the WordPress site. The 6.4 score is driven up by S:C (script executes in the context of other users/visitors) while impact remains limited to C:L/I:L. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - there is no signal of active or automated exploitation. A key limiting factor beyond CVSS is that only the premium/pro edition is affected, further shrinking the exploitable installed base. Net: a legitimate stored-XSS bug worth patching in the normal cycle, but not a high-real-risk emergency given the authentication requirement, pro-only scope, and absence of exploitation signals.

Exploit ScenarioDerived

An attacker who has obtained or been granted a contributor-level account on a WordPress site running the premium WPComplete plugin authors a page containing the vulnerable 'empty' shortcode attribute with a malicious payload. Because input is insufficiently sanitized and output not escaped, the script is stored and later executes in the browser of any user - including higher-privileged editors or admins - who views the injected page, enabling session/cookie theft or actions in the victim's context. No public POC is referenced in the provided data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 19, 2026

Stored cross-site scripting in the premium (pro) edition of the WPComplete WordPress plugin, affecting all versions up to and including 2.9.9.0, lets an authenticated user with contributor-level access or above inject arbitrary script into the 'empty' shortcode attribute; the payload persists in page content and executes in the browser of anyone who later views that page. The free version of the plugin is not affected, and exploitation requires the paid edition to be installed and active, which materially narrows the exposed population. There is no public exploit code identified at time of analysis and the issue is not confirmed as actively exploited (no CISA KEV listing); this is assessed as a moderate, not urgent, priority given the pro-only scope and the prerequisite of an authenticated contributor account.

RemediationAI

No vendor-released patch version was identified in the available intelligence at time of analysis - the supplied references point to vulnerable source tags (2.9.5.7) rather than a fixed release - so administrators should track the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/5b91bb81-b5e4-4a50-833b-e2e98ccc09ff?source=cve and the plugin's changelog for a corrected build, and upgrade immediately once a version above 2.9.9.0 is published. Until then, the most effective compensating control is to remove the vulnerable shortcode surface: deactivate the WPComplete pro plugin on sites where it is not essential, or otherwise disable the plugin's 'empty' shortcode rendering, accepting the loss of that progress-tracking functionality. Because exploitation requires contributor-level access or above, tighten role assignments by demoting or removing untrusted contributor and author accounts and auditing existing post content for injected shortcode usage (search for the 'empty' attribute across posts and pages) and cleaning any matches, at the cost of extra editorial overhead and potential cleanup of legitimate content. Enforcing a strict content-security policy and running a WordPress hardening or WAF plugin that filters stored XSS in post content can reduce but not eliminate execution, since obfuscated payloads may bypass signature-based filtering. Note that these are mitigations only; the underlying unsanitized output remains until a fixed plugin version is deployed.

Affected VersionsENISA

WPComplete 0 ≤2.9.9.0

Affected Packages

euvd wpcomplete no fix

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 improper neutralization of input during web page generation, appearing in the WordPress shortcode handling of the WPComplete plugin. WordPress shortcodes accept user-supplied attributes, and the plugin's public-facing rendering class (referenced in public/class-wpcomplete-public.php around lines 1692, 1802 and 1859, with related logic in includes/class-wpcomplete.php around line 305 of the 2.9.5.7 tag) fails to sanitize the 'empty' attribute on input and to escape it on output, so attacker-controlled markup is written into post content and later rendered unescaped. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N indicates a network-reachable, low-complexity attack from an authenticated low-privileged account, with scope change (the injected script runs in the context of other users and pages, beyond the attacker's own content) but limited confidentiality and integrity impact and no availability impact. The affected component is identified by CPE cpe:2.3:a:stellarwp:wpcomplete:*:*:*:*:*:*:*:*, associating the plugin with vendor StellarWP and indicating that the CPE does not pin a fixed version boundary.

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

Vendor (Wordfence) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.4 MEDIUM

Authenticated contributor injection gives PR:L; stored payload executing in other users' browsers is a scope change (S:C) with limited confidentiality/integrity impact and no availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The WPComplete plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'empty' Shortcode Attribute in all versions up to, and including, 2.9.9.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires the premium version of the software in order to exploit. Please note this only affects the pro version.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche WordPress course-completion plugin, pro edition only
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy