Skip to main content

Ultimate Addons Elementor CVE-2026-15787

| EUVDEUVD-2026-47620 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-07-22 security@wordfence.com GHSA-4r37-9m26-2c4m
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
5.4 MEDIUM

Stored XSS requires a victim to visit the injected page (UI:R); all other vendor-provided metrics are retained as they correctly reflect network delivery, low complexity, contributor-level auth, scope change, and limited C/I impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/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

Lifecycle Timeline

2
Analysis Generated
Jul 22, 2026 - 09:32 vuln.today
CVE Published
Jul 22, 2026 - 09:16 nvd
MEDIUM 6.4

DescriptionCVE.org

The Ultimate Addons for Elementor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Navigation Menu Widget data-toggle-icon/data-close-icon Attributes in all versions up to, and including, 2.9.1 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. wp_kses_post, applied on save for users without unfiltered_html, does not neutralize HTML-entity-encoded payloads stored inside data-* attributes on kses-allowed elements, as the browser decodes these values client-side before jQuery .html() renders them as markup.

AnalysisAI

Stored Cross-Site Scripting in the Ultimate Addons for Elementor WordPress plugin allows authenticated contributors to implant persistent JavaScript payloads via the Navigation Menu Widget's data-toggle-icon and data-close-icon attributes, affecting all versions through 2.9.1. The attack survives WordPress's wp_kses_post sanitization because the filter does not decode HTML entities within data-* attribute values at save time, while the browser subsequently decodes them client-side before jQuery's .html() renders them as live markup. No public exploit code or CISA KEV listing is identified at time of analysis, but the low privilege bar - contributor access on any multi-user WordPress site - and the scope-changed CVSS impact make this a meaningful risk wherever open or broad contributor registration is permitted.

Technical ContextAI

The flaw resides in the Navigation Menu Widget's frontend JavaScript rendering logic within the Ultimate Addons for Elementor plugin (WordPress repository slug: header-footer-elementor - see Confidence Notes for product-naming discrepancy), specifically in inc/js/frontend.js at lines 682, 684, 701, and 703, confirmed present in tags 2.8.8 and 2.9.1. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation / Cross-Site Scripting). WordPress applies wp_kses_post on save for contributors who lack the unfiltered_html capability; this sanitizer permits a set of kses-approved tags and attributes but evaluates data-* attribute values as opaque strings without decoding their HTML entities. An attacker places an entity-encoded payload such as <img src=x onerror=alert(1)> into data-toggle-icon or data-close-icon. The serialized widget data passes wp_kses_post unmodified because the encoded form contains no prohibited raw tags. When a victim's browser renders the page, it decodes the entities before passing the string to jQuery's .html() call, which interprets the decoded result as HTML markup and executes the embedded script under the site's origin.

RemediationAI

Update the plugin to version 2.9.2 or later, which contains the upstream fix per the WordPress plugin repository changeset referenced above; the update can be applied through the WordPress admin Plugins panel or via WP-CLI using wp plugin update header-footer-elementor. As a compensating control prior to patching, restrict contributor and author roles to fully trusted users and audit existing accounts at those privilege levels - removing contributor access eliminates the injection vector entirely, though this may disrupt legitimate editorial workflows. Temporarily disabling the Navigation Menu Widget within Elementor (or deactivating the plugin) will prevent exploitation at the cost of losing navigation menu widget functionality on affected pages. A WAF rule targeting HTML-entity-encoded angle-bracket sequences in widget attribute POST parameters can reduce risk but carries a risk of false positives on legitimate rich-text content. No separate vendor security advisory URL beyond the Wordfence intelligence record has been identified in the available data; monitor https://www.wordfence.com/threat-intel/vulnerabilities/id/39f26d35-a702-49fc-aed1-0a329ac32553 for updates.

CVE-2016-10033 CRITICAL POC
9.8 Dec 30

The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2026-63030 CRITICAL POC
9.8 Jul 17

Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r

Share

CVE-2026-15787 vulnerability details – vuln.today

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