Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or compromise author-level WordPress credentials
-
DeliveryCraft POST request to admin-ajax.php?action=elementor_ajax
-
ExploitInject malicious JS payload into jtlma_custom_js parameter
-
ExecutionSave handler stores payload without sanitization, bypassing UI capability check
-
PersistVictim visits the injected page
-
ImpactStored script executes in victim's browser session
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 the attacker to hold an authenticated WordPress session at author level or higher (PR:L per CVSS vector) - unauthenticated exploitation is not possible. The Master Addons for Elementor plugin must be installed and active, and specifically the Custom JS Extension (jtlma_custom_js Page Setting) feature must be available and not administratively disabled. The attack path requires direct HTTP POST access to admin-ajax.php?action=elementor_ajax, which is standard on any WordPress installation with the plugin active and not blocked by a WAF or firewall rule. Exploitation is limited by the requirement for valid author-level credentials, which confines the realistic threat surface to: multi-author sites with untrusted contributors, sites with weak credential hygiene, or sites permitting open author-level registration. Sites where all author-level and above accounts are held by trusted parties face significantly reduced practical risk despite the network-accessible attack vector. |
| Impact | The CVSS 6.4 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) score reflects moderate severity with some important nuances. Attack vector is network and complexity is low, meaning exploitation requires no special network position or unusual conditions once the attacker is authenticated. The PR:L designation confirms author-level credentials are required - this is not an unauthenticated vector. The changed scope (S:C) elevates the score because the injected payload executes in victims' browsers, potentially enabling session hijacking, credential theft, or further payload delivery against site visitors, including privileged administrators. EPSS data was not provided in the source intelligence, so exploitation probability cannot be quantified numerically. KEV status is not listed, and no public POC was identified at time of analysis. Real-world risk is moderate-to-elevated for multi-author WordPress sites (agencies, content platforms, membership sites) where untrusted author-level users exist; sites with tightly controlled authorship are at lower practical risk. The bypass technique (direct AJAX POST bypassing UI checks) is straightforward and repeatable, lowering the effective complexity for a motivated attacker already holding author credentials. |
| Exploit ScenarioDerived | An attacker who has obtained author-level credentials on a target WordPress site - through credential stuffing, phishing, or account registration if author self-registration is enabled - crafts a POST request directly to admin-ajax.php?action=elementor_ajax, embedding a malicious payload in the jtlma_custom_js parameter without triggering the UI-level unfiltered_html capability check. The injected script is saved to the page and executes silently in every subsequent visitor's browser, including logged-in administrators, enabling session cookie theft or drive-by payload delivery. No public POC has been identified at time of analysis, but the bypass technique is straightforwardly derivable from the source code references in the disclosure. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 06, 2026
Stored Cross-Site Scripting in the Master Addons for Elementor WordPress plugin (versions up to and including 3.1.0) allows authenticated attackers with author-level access to inject persistent JavaScript into pages by exploiting a broken authorization boundary in the Custom JS Extension. The flaw arises because the unfiltered_html capability check is enforced only during UI rendering (Elementor control registration) and entirely absent from the save handler, permitting a crafted POST to admin-ajax.php?action=elementor_ajax to store arbitrary scripts that execute in every subsequent visitor's browser. No public exploit or CISA KEV listing has been identified at time of analysis, though the Wordfence disclosure and direct source-code references confirm the issue is well-documented.
RemediationAI
An upstream fix has been committed to the plugin repository, as evidenced by the referenced changeset (https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3556818%40master-addons&new=3556818%40master-addons); however, the exact patched release version number is not independently confirmed from the available intelligence - administrators should update to the latest available version beyond 3.1.0 from the WordPress plugin repository and verify the changelog references this fix. As a compensating control on sites where an immediate update is not possible, restrict the WordPress author role so that no untrusted users hold author-level access or above; this directly removes the attacker's required privilege level. Alternatively, disabling the Custom JS Extension feature within the Master Addons plugin settings eliminates the vulnerable save handler entirely, though this removes custom JavaScript functionality for page builders. Web Application Firewall rules targeting admin-ajax.php POST bodies containing script tags or the jtlma_custom_js parameter can reduce exploitation surface but should not be treated as a primary defense given encoding evasion possibilities. Consult the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/5b8e052a-6e60-4455-96c9-b2a3e86773da for additional guidance.
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 affected component is the Custom JS Extension within the Master Addons for Elementor plugin (vendor: litonice13, CPE: cpe:2.3:a:litonice13:master_addons_for_elementor_-_widgets,_extensions,_theme_builder,_popup_builder_&_template_kits:*). The plugin exposes a 'jtlma_custom_js' page setting processed in custom-js.php. WordPress best practice requires that raw JavaScript injection be gated behind the unfiltered_html capability (restricted to Editors and above by default). Here, that gate exists only in the Elementor UI registration path (lines L80, L206, L214 of custom-js.php in tags/3.1.0 and 3.0.2), but the save handler that processes the admin-ajax.php Elementor AJAX endpoint lacks the equivalent check. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause class - user-supplied script content reaches persistent storage without sanitization and is later output without escaping, resulting in classic stored XSS with changed scope (S:C in CVSS) because the injected payload affects browser sessions belonging to other users, not just the attacker's own session.
Know when PHP 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 Master Addons For Elementor - Widgets, Extensions, Theme Builder, Popup Builder & Template Kits plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'jtlma_custom_js' Page Setting (Custom JS Extension) in all versions up to, and including, 3.1.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The unfiltered_html capability check is only enforced during Elementor control registration (UI rendering) and not during the save process, enabling Author-level users to inject the jtlma_custom_js setting directly via a crafted POST request to admin-ajax.php?action=elementor_ajax, bypassing the UI-level restriction entirely.
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.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-34940
GHSA-75j2-rqrx-9c7f
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB