Security Vulnerability Report
中文
CVE-2025-13535 CVSS 6.4 MEDIUM

CVE-2025-13535

Published: 2026-04-01 15:16:22
Last Modified: 2026-04-24 18:12:07

Description

The King Addons for Elementor plugin for WordPress is vulnerable to multiple Contributor+ DOM-Based Stored Cross-Site Scripting vulnerabilities in all versions up to, and including, 51.1.38. This is due to insufficient input sanitization and output escaping across multiple widgets and features. The plugin uses esc_attr() and esc_url() within JavaScript inline event handlers (onclick attributes), which allows HTML entities to be decoded by the DOM, enabling attackers to break out of the JavaScript context. Additionally, several JavaScript files use unsafe DOM manipulation methods (template literals, .html(), and window.location.href with unvalidated URLs) with user-controlled data. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts via Elementor widget settings that execute when a user accesses the injected page or when an administrator previews the page in Elementor's editor. The vulnerability was partially patched in version 5.1.51.

CVSS Details

CVSS Score
6.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

King Addons for Elementor <= 51.1.38

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
/* * PoC for CVE-2025-13535: King Addons for Elementor DOM-Based XSS * Description: Exploiting HTML entity decoding in onclick attributes. */ // Step 1: Attacker with Contributor access edits a page using Elementor. // Step 2: Attacker inserts the following payload into a vulnerable widget setting (e.g., Wrapper Link). // The payload uses HTML entities to bypass esc_attr(). var payload = "&quot; onclick=alert('CVE-2025-13535') //"; // Vulnerable backend code logic (Conceptual): // echo '<div onclick="doSomething(\'' . esc_attr($user_input) . '\')">'; // Resulting HTML in source: // <div onclick="doSomething('&quot; onclick=alert(&#39;CVE-2025-13535&#39;) //')"> // Step 3: When the DOM parses this, &quot; becomes ", breaking the attribute: // <div onclick="doSomething('" onclick=alert('CVE-2025-13535') //')"> // Step 4: The alert executes when the user interacts with the element or page loads depending on the widget.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-13535", "sourceIdentifier": "[email protected]", "published": "2026-04-01T15:16:21.743", "lastModified": "2026-04-24T18:12:06.580", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The King Addons for Elementor plugin for WordPress is vulnerable to multiple Contributor+ DOM-Based Stored Cross-Site Scripting vulnerabilities in all versions up to, and including, 51.1.38. This is due to insufficient input sanitization and output escaping across multiple widgets and features. The plugin uses esc_attr() and esc_url() within JavaScript inline event handlers (onclick attributes), which allows HTML entities to be decoded by the DOM, enabling attackers to break out of the JavaScript context. Additionally, several JavaScript files use unsafe DOM manipulation methods (template literals, .html(), and window.location.href with unvalidated URLs) with user-controlled data. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts via Elementor widget settings that execute when a user accesses the injected page or when an administrator previews the page in Elementor's editor. The vulnerability was partially patched in version 5.1.51."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/assets/libraries/lightgallery/lightgallery.js", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/features/Wrapper_Link/Wrapper_Link.php#L85", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/widgets/Countdown/script.js#L119", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/widgets/Image_Accordion/script.js#L141", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/widgets/Off_Canvas_Content/Off_Canvas_Content.php#L629", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/widgets/Popup/Popup.php#L708", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/widgets/Pricing_Calculator/Pricing_Calculator.php#L1896", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/king-addons/tags/51.1.38/includes/widgets/Video_Popup/Video_Popup.php#L813", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3438067/", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3441952/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/95d3e76c-612d-436c-9d32-6228d7dcbf35?source=cve", "source": "[email protected]"}]}}