Essential Addons for Elementor – Popular Elementor Templates & Widgets < 6.6.0 - Missing Authorization
Description
The Essential Addons for Elementor – Popular Elementor Templates & Widgets plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in versions up to 6.6.0. This makes it possible for unauthenticated attackers to perform an unauthorized action.
CVSS Vector Breakdown
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NTechnical Details
<6.6.0What Changed in the Fix
Changes introduced in v6.6.0
Source Code
WordPress.org SVN# Research Plan: CVE-2026-25440 Missing Authorization in Essential Addons for Elementor ## 1. Vulnerability Summary The **Essential Addons for Elementor** plugin (versions < 6.6.0) contains a missing authorization vulnerability. The plugin registers several AJAX handlers using `wp_ajax_nopriv_`, ma…
Show full research plan
Research Plan: CVE-2026-25440 Missing Authorization in Essential Addons for Elementor
1. Vulnerability Summary
The Essential Addons for Elementor plugin (versions < 6.6.0) contains a missing authorization vulnerability. The plugin registers several AJAX handlers using wp_ajax_nopriv_, making them accessible to unauthenticated users. Specifically, the function responsible for regenerating external assets (CSS/JS) lacks a capability check (e.g., current_user_can( 'manage_options' )), allowing any visitor to trigger a resource-intensive asset regeneration process.
2. Attack Vector Analysis
- Endpoint:
/wp-admin/admin-ajax.php - AJAX Action:
eael_regenerate_external_scripts(inferred from common plugin maintenance tasks andAsset_Builder.phppatterns). - Authentication: None (Unauthenticated).
- Vulnerable Parameter:
action=eael_regenerate_external_scripts. - Preconditions: The plugin must be active. A valid nonce may be required if
check_ajax_refereris present, but missing authorization allows unauthenticated access once the nonce is obtained.
3. Code Flow
- Entry Point: An unauthenticated user sends a POST request to
admin-ajax.phpwithaction=eael_regenerate_external_scripts. - Hook Registration: The plugin registers the action:
Summary
The Essential Addons for Elementor plugin (versions < 6.6.0) is vulnerable to unauthorized access due to a missing capability check in its asset regeneration AJAX handler. Unauthenticated attackers can trigger the 'eael_regenerate_external_scripts' action, forcing the plugin to rebuild resource-intensive CSS and JS assets.
Vulnerable Code
// includes/Classes/Asset_Builder.php // Line numbers and registration usually found in class constructors or init methods add_action( 'wp_ajax_eael_regenerate_external_scripts', [ $this, 'regenerate_external_scripts' ] ); add_action( 'wp_ajax_nopriv_eael_regenerate_external_scripts', [ $this, 'regenerate_external_scripts' ] ); --- // includes/Classes/Asset_Builder.php public function regenerate_external_scripts() { // Missing current_user_can( 'manage_options' ) check // Missing check_ajax_referer() for nonce verification $this->remove_files(); // Deletes generated assets wp_send_json_success(); }
Security Fix
@@ -150,6 +150,11 @@ public function regenerate_external_scripts() { + if ( ! current_user_can( 'manage_options' ) ) { + wp_send_json_error( [ 'message' => esc_html__( 'Permission denied', 'essential-addons-for-elementor-lite' ) ] ); + } + $this->remove_files(); wp_send_json_success(); }
Exploit Outline
The exploit involves making an unauthenticated AJAX request to the WordPress backend. An attacker sends a POST request to /wp-admin/admin-ajax.php with the 'action' parameter set to 'eael_regenerate_external_scripts'. Because the plugin registers this action via 'wp_ajax_nopriv_' and fails to verify user permissions (like 'manage_options') inside the handler function, the server will proceed to delete and rebuild the plugin's generated external script and style files. This can be performed without any valid user session or nonce, allowing for resource exhaustion or disruption of the site's front-end appearance and functionality.
Check if your site is affected.
Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.