Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or register Contributor-level WordPress account
-
DeliveryCraft post with malicious JavaScript in `readmoretext` shortcode attribute
-
ExploitSubmit or publish post containing injected shortcode
-
ExecutionVictim browses to page with rendered shortcode
-
PersistBrowser executes stored JavaScript payload
-
ImpactExfiltrate session cookie or redirect victim to attacker infrastructure
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 | Exploitation requires a valid WordPress account with at minimum Contributor-level privileges - CVSS PR:L confirms low-privilege authentication is mandatory, and unauthenticated exploitation is not possible. The attacker must have the ability to create or edit posts or pages that include the |
| Impact | The CVSS 6.4 score with vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N reflects a network-accessible, low-complexity attack requiring only Contributor-level authentication, with scope change indicating cross-context browser execution impact on victims. No EPSS score was provided in the input data, preventing probabilistic exploitation assessment. This vulnerability is not confirmed in CISA KEV and no POC exploit code is referenced in available data. The PR:L (low privilege) requirement is the dominant risk limiter: sites without open user registration, guest posting, or multi-author workflows have substantially lower exposure than high-traffic community WordPress installations. Despite UI:N in the vector (no special victim interaction beyond normal browsing), the attack is not fully opportunistic - it requires a capable contributor account. The S:C scope change elevates the real-world concern because a compromised contributor can silently target administrator sessions. Overall: moderate-to-real priority for multi-author WordPress deployments; lower priority for tightly controlled single-author sites. |
| Exploit ScenarioDerived | An attacker registers or compromises a Contributor-level WordPress account on the target site and creates a new post embedding |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 20, 2026
Stored Cross-Site Scripting in the CVMH Sticky plugin for WordPress (versions ≤2.5.6) enables authenticated contributors to inject persistent JavaScript via the readmoretext attribute of the [cvmh-sticky] shortcode. The payload executes in the browsers of any visitor loading a page containing the injected shortcode, enabling session hijacking, credential theft, or privilege escalation by targeting administrators. No public exploit is identified at time of analysis and this vulnerability is not listed in CISA KEV, but Wordfence has confirmed the flaw with direct code-level references.
RemediationAI
The primary remediation is to update the Sticky plugin to a version beyond 2.5.6 once a patched release is confirmed available; monitor the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/135783c5-8175-4775-a013-f1e2bef04479 for patch confirmation, as no specific fixed version is independently confirmed from current reference data. As an immediate compensating control, administrators should audit existing Contributor-level accounts and disable or remove unnecessary contributors, directly eliminating the required privilege level for exploitation. Disabling or deactivating the Sticky plugin entirely removes the attack surface with no residual risk beyond loss of the plugin's functionality. Deploying a WordPress-aware WAF such as Wordfence's own firewall rule engine can intercept known XSS payload patterns in shortcode attributes, though this is bypassable and should not substitute for patching. Restricting post/page creation permissions to trusted roles only (Editor and above) on sensitive or high-traffic sites is a targeted control with minimal operational impact.
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 CVMH Sticky plugin (CPE: cpe:2.3:a:cvmh:sticky:*:*:*:*:*:*:*:*) renders shortcodes via the cvmh_sticky_front_render() function defined in includes/functions.php (line 118), with shortcode registration in includes/shortcode.php (line 7). The root cause is CWE-79: the readmoretext attribute is passed through WordPress's apply_filters() hook - which allows third-party filter callbacks to modify the value - and then concatenated directly into the HTML output string without any output escaping function such as esc_html() or esc_attr(). This means attacker-controlled HTML/JavaScript survives both storage and rendering. The CVSS scope change (S:C) is significant here: the payload stored by a low-privilege contributor executes in site visitors' browser contexts, crossing security boundaries beyond the contributor's own session.
Know when Sticky 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:L/UI:N/S:C/C:L/I:L/A:N
Primary rating from Vendor (Wordfence) · only source for this CVE.
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Sticky plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the cvmh-sticky shortcode readmoretext attribute in versions up to and including 2.5.6. This is due to insufficient input sanitization and output escaping in the cvmh_sticky_front_render() function - the readmoretext attribute value is passed through apply_filters() and directly concatenated into the HTML output without any escaping function such as esc_html(). 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 a page containing the injected shortcode.
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-31017
GHSA-c2q9-qp4m-w7vm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB