CVE-2024-56225
Executive Summary
CVE-2024-56225 is a Missing Authorization vulnerability in the Leap13 Premium Addons for Elementor WordPress plugin, affecting versions from n/a through 4.10.56. This flaw allows unauthenticated attackers to access functionality that should be properly constrained by Access Control Lists (ACLs). The vulnerability has a CVSS score of 5.4 (Medium), with an EPSS score of 0.0% indicating low exploitation likelihood at this time. As a WordPress plugin vulnerability, it directly impacts the WordPress ecosystem, potentially exposing sensitive data or allowing unauthorized actions within the plugin's feature set.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository and third-party marketplaces. Users who installed the plugin via the WordPress admin dashboard or automated deployment tools (e.g., Composer, WP-CLI) are at risk. No official patch has been released as of the latest advisory, making this a supply chain risk for any site using the affected version.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – Exploit does not affect other components.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. The low EPSS score suggests limited active exploitation, but the lack of a patch increases risk for unpatched installations.
Deep Dive & Mechanics
The vulnerability resides in the Premium Addons for Elementor plugin's AJAX handlers or REST API endpoints. The plugin likely registers actions that are intended for authenticated users (e.g., administrators or editors) but fails to enforce proper capability checks. An unauthenticated attacker can send crafted HTTP requests to these endpoints, triggering functionality such as:
- Retrieving sensitive configuration data (e.g., API keys, site settings).
- Modifying plugin options or content.
- Triggering internal plugin functions that should be restricted.
The missing authorization check (current_user_can() or similar) allows the attacker to bypass WordPress's built-in role-based access controls. The vulnerability is classified under CWE-862: Missing Authorization.
Vulnerable vs. Patched Code
Since no official patch is available, the following is a hypothetical comparison based on common patterns:
Vulnerable Code (pre-4.10.56):
add_action('wp_ajax_nopriv_premium_addons_action', 'premium_addons_handle_action');
function premium_addons_handle_action() {
// No capability check
$data = $_POST['data'];
// Process data...
}
Patched Code (hypothetical):
add_action('wp_ajax_nopriv_premium_addons_action', 'premium_addons_handle_action');
function premium_addons_handle_action() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized');
}
$data = $_POST['data'];
// Process data...
}
The patched version adds a capability check (manage_options) to restrict access to administrators.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Target WordPress site with Premium Addons for Elementor <= 4.10.56.
- Network access to the site.
Exploitation Steps:
- Identify vulnerable endpoints by analyzing plugin source code or using fuzzing tools.
- Send a crafted HTTP request to the vulnerable AJAX action:
curl -X POST https://target.com/wp-admin/admin-ajax.php \
-d "action=premium_addons_action&data=malicious_payload"
- Observe the response for sensitive data or unauthorized changes.
Proof-of-Concept (Python):
import requests
target = "https://target.com/wp-admin/admin-ajax.php"
payload = {
"action": "premium_addons_action",
"data": "test"
}
response = requests.post(target, data=payload)
print(response.text)
Blue Team (Detection & Defense)
Detection:
- Monitor for unusual AJAX requests to
admin-ajax.phpwith unknown or suspicious actions. - Look for requests from unauthenticated users to endpoints that should require authentication.
Defense:
- Immediately update the plugin if a patch becomes available.
- Implement a Web Application Firewall (WAF) rule to block requests to vulnerable endpoints from unauthenticated users.
- Use a security plugin (e.g., Wordfence) to monitor and block unauthorized AJAX calls.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/wp-admin/admin-ajax.phpwithaction=premium_addons_action(or similar) from unauthenticated sources. - Unusual response data containing plugin configuration or site settings.
- HTTP POST requests to
File IOCs:
- Modified plugin files in
/wp-content/plugins/premium-addons-for-elementor/. - Unexpected log entries in WordPress debug logs.
- Modified plugin files in
Behavioral IOCs:
- Unauthorized changes to plugin settings or Elementor templates.
- Sudden appearance of new admin users (if the vulnerability allows user creation).
Detection Engineering
YARA Rule
rule CVE_2024_56225_Premium_Addons_Elementor {
meta:
description = "Detects vulnerable Premium Addons for Elementor plugin files"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-56225"
strings:
$vuln_func = "wp_ajax_nopriv_premium_addons_action" nocase
$missing_check = "current_user_can" nocase
condition:
$vuln_func and not $missing_check
}
Sigma Rule
title: CVE-2024-56225 - Unauthenticated AJAX Access to Premium Addons for Elementor
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthenticated access to vulnerable AJAX endpoints in Premium Addons for Elementor
author: Valters IT
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-method: 'POST'
cs-uri-query: 'action=premium_addons_action*'
sc-status: 200
condition: selection
falsepositives:
- Legitimate admin actions (if misconfigured)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-56225 - Premium Addons for Elementor Unauthenticated AJAX Access"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=premium_addons_action"; http_client_body; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin if it is not critical to operations until a patch is available.
- Implement a WAF rule to block requests to
admin-ajax.phpwith the vulnerable action parameter from unauthenticated users. - Monitor logs for exploitation attempts using the Sigma or Suricata rules above.
Long-term Fix:
- Apply the official patch from Leap13 when released (check their changelog or support channels).
- Update to the latest version of the plugin (if a patched version becomes available).
- Consider replacing the plugin with an alternative that has a better security track record.
Workaround:
- Add a custom function to your theme's
functions.phpto block the vulnerable action:
add_action('init', function() {
if (isset($_POST['action']) && $_POST['action'] === 'premium_addons_action') {
if (!current_user_can('manage_options')) {
wp_die('Access denied');
}
}
});
Valters IT
Securing Digital Frontiers
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.