Skip to main content

Essential Addons Elementor EUVDEUVD-2026-46166

| CVE-2026-15145 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-07-21 Wordfence GHSA-fvc5-h4x4-cfv4
6.4
CVSS 3.1 · Vendor: Wordfence
Share

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

Contributor account required (PR:L); stored payload auto-executes on page load without special victim action (UI:N); cross-browser scope change applies (S:C); no availability impact.

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

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 21, 2026 - 08:46 vuln.today
Analysis Generated
Jul 21, 2026 - 08:46 vuln.today
CVE Published
Jul 21, 2026 - 07:51 cve.org
MEDIUM 6.4

DescriptionCVE.org

The Essential Addons for Elementor - Popular Elementor Templates & Widgets plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Fancy Text Widget in all versions up to, and including, 6.6.11 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.

AnalysisAI

Stored Cross-Site Scripting in the Essential Addons for Elementor WordPress plugin (versions ≤ 6.6.11) allows authenticated contributors to inject persistent JavaScript payloads via the Fancy Text Widget, executing in any visitor's browser upon page load. Source code analysis confirms two distinct sink defects: the bundled Morphext library used unsafe innerHTML assignment for both phrase text and animation class names, and the widget's transition-type parameter was passed unsanitized to Morphext as a CSS class token without allowlist validation. No active exploitation is confirmed by CISA KEV, and no public exploit code has been identified at time of analysis; however, the scope-change (S:C) CVSS vector and contributor-accessible attack surface make this a credible risk on multi-author WordPress deployments.

Technical ContextAI

The affected product (CPE: cpe:2.3:a:wpdevteam:essential_addons_for_elementor_-_popular_elementor_templates_&_widgets:*:*:*:*:*:*:*:*) bundles the Morphext.js library for its Fancy Text Widget, which cycles through animated text phrases. Pre-patch, the library's animate() function wrote user-controlled content into the DOM via this.element[0].innerHTML, concatenating both the CSS animation class name and the phrase text into a raw HTML string - a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) pattern. A second injection point existed in fancy-text.js, where the fancy-text-transition-type data attribute was read from the DOM and forwarded directly to Morphext as an animation class string without validation against a known-good list. The fix, visible in commit d88e08257, replaced innerHTML with safe DOM API calls (createElement, textContent, classList.add) and introduced an explicit ALLOWED_TRANSITIONS allowlist in fancy-text.js covering only legitimate animation names such as 'fadeIn', 'bounceIn', and 'zoomIn'. The plugin runs inside Elementor on WordPress, meaning the attacker's content is stored server-side in post meta and rendered to all subsequent page visitors.

RemediationAI

Upgrade Essential Addons for Elementor to version 6.7.0 or later immediately; this is the vendor-released patch confirmed in commit d88e08257 (https://github.com/wpdevelopers/essential-addons-for-elementor-lite/commit/d88e08257) and the WordPress.org changeset between tags 6.6.11 and 6.7.0. The patch replaces unsafe innerHTML usage with DOM-safe APIs and restricts animation class names to a validated allowlist, closing both injection sinks. If upgrade is not immediately feasible, restrict WordPress contributor-level role assignment to trusted users only and audit existing contributor accounts - this eliminates the required authenticated attack vector. As a secondary control, the Fancy Text Widget can be disabled within the Essential Addons settings panel; note this will break any page layouts using that widget and require content rework. Generic WAF rules targeting <script> tags in POST bodies offer minimal protection here since the payload is stored in WordPress post meta rather than reflected from a URL parameter. See the full advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/2100d720-bfb4-451d-9907-e0b77ef507a5.

Share

EUVD-2026-46166 vulnerability details – vuln.today

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