CVE-2025-55712
Executive Summary
CVE-2025-55712 is a Missing Authorization vulnerability (CWE-862) in the The Plus Addons for Elementor Page Builder Lite WordPress plugin, developed by POSIMYTH. This flaw affects all versions up to and including 6.3.13. The vulnerability allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized data access or modification of settings within the Elementor page builder environment. As a WordPress plugin vulnerability, it directly impacts the WordPress ecosystem and does not involve Apache or Nginx server-level misconfigurations.
The CVSS v3.1 base score is 6.5 (Medium), with a vector string of CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N. The attack vector is network-based, requires low complexity, no privileges, and no user interaction. The scope is unchanged, with low impacts on confidentiality and integrity. The EPSS score is 0.0%, indicating a low probability of exploitation in the wild at this time, but the lack of a patch makes this a significant risk for unpatched installations.
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 is specific to the WordPress plugin ecosystem. The affected component is the-plus-addons-for-elementor-page-builder-lite, distributed via the official WordPress plugin repository. Users who installed this plugin from the WordPress dashboard or via direct download are at risk. There is no known supply chain compromise of the plugin’s distribution mechanism; the vulnerability is a code-level authorization flaw within the plugin itself.
CVSS Breakdown & Threat Level
| Metric | Value |
|---|---|
| Attack Vector (AV) | Network (N) |
| Attack Complexity (AC) | Low (L) |
| Privileges Required (PR) | None (N) |
| User Interaction (UI) | None (N) |
| Scope (S) | Unchanged (U) |
| Confidentiality (C) | Low (L) |
| Integrity (I) | Low (L) |
| Availability (A) | None (N) |
| Base Score | 6.5 (Medium) |
Threat Level: Medium. The vulnerability is exploitable remotely without authentication, but the impact is limited to low confidentiality and integrity loss. The lack of a patch and the widespread use of Elementor plugins elevate the risk for unpatched sites.
Deep Dive & Mechanics
The vulnerability resides in the The Plus Addons for Elementor Page Builder Lite plugin, which extends the Elementor page builder with additional widgets and functionality. The missing authorization flaw occurs in one or more AJAX actions or REST API endpoints that fail to properly verify user capabilities before processing requests.
Root Cause: The plugin does not implement proper capability checks (e.g., current_user_can()) in functions that handle sensitive operations such as saving widget settings, importing templates, or modifying plugin options. This allows any unauthenticated visitor to send crafted HTTP requests to these endpoints and perform actions that should require at least a contributor or editor role.
Attack Vector: An attacker can send a POST request to a vulnerable endpoint (e.g., /wp-admin/admin-ajax.php with a specific action parameter) without any authentication token. The server processes the request and executes the intended function, potentially modifying plugin settings or retrieving sensitive data.
Impact: Successful exploitation could allow an attacker to:
- Modify Elementor widget configurations
- Import malicious templates or content
- Expose non-public plugin settings
- Potentially escalate privileges if combined with other vulnerabilities
Vulnerable vs. Patched Code
Since no official patch has been released, the vulnerable code remains in production. The following is a hypothetical example of the vulnerable pattern and its secure counterpart.
Vulnerable Code (PHP):
add_action('wp_ajax_nopriv_plus_save_widget', 'plus_save_widget_handler');
function plus_save_widget_handler() {
// Missing capability check
$widget_data = $_POST['widget_data'];
update_option('plus_widget_config', $widget_data);
wp_send_json_success();
}
Patched Code (PHP):
add_action('wp_ajax_plus_save_widget', 'plus_save_widget_handler');
add_action('wp_ajax_nopriv_plus_save_widget', 'plus_save_widget_handler_denied');
function plus_save_widget_handler() {
if (!current_user_can('edit_posts')) {
wp_send_json_error('Unauthorized', 403);
return;
}
$widget_data = sanitize_text_field($_POST['widget_data']);
update_option('plus_widget_config', $widget_data);
wp_send_json_success();
}
function plus_save_widget_handler_denied() {
wp_send_json_error('Authentication required', 401);
}
The patched version adds a capability check (current_user_can('edit_posts')) and separates authenticated and unauthenticated AJAX hooks.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A WordPress site with The Plus Addons for Elementor Page Builder Lite <= 6.3.13 installed and activated.
- No authentication required.
Exploitation Steps:
- Identify the vulnerable endpoint by analyzing the plugin’s AJAX actions. Common actions include
theplus_save_settings,theplus_import_template, ortheplus_update_widget. - Send a crafted POST request using
curlor a tool like Burp Suite.
Example Exploit (cURL):
curl -X POST http://target.com/wp-admin/admin-ajax.php \
-d "action=theplus_save_settings&setting_name=test&setting_value=malicious"
Expected Outcome: The server responds with a success JSON, and the setting is saved without authentication.
Advanced Exploitation: Combine with other vulnerabilities (e.g., stored XSS) to achieve privilege escalation or remote code execution.
Blue Team (Detection & Response)
Detection Steps:
- Monitor WordPress access logs for unusual AJAX requests to
admin-ajax.phpwith actions related to The Plus Addons. - Look for requests from unauthenticated users (no
Cookieheader with WordPress auth cookies) that trigger plugin-specific actions. - Check for unexpected changes to plugin options in the
wp_optionstable.
Response:
- Immediately disable the plugin if exploitation is suspected.
- Review recent changes to plugin settings and revert any unauthorized modifications.
- Implement a Web Application Firewall (WAF) rule to block requests to vulnerable endpoints from unauthenticated users.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/wp-admin/admin-ajax.phpwithactionparameters containingtheplus_orplus_prefixes from unauthenticated sources. - Unusual
User-Agentstrings or repeated requests from the same IP.
- HTTP POST requests to
File System IOCs:
- Modified plugin files in
/wp-content/plugins/the-plus-addons-for-elementor-page-builder-lite/. - Unexpected entries in
wp_optionswith option names starting withtheplus_orplus_.
- Modified plugin files in
Log IOCs:
- WordPress debug log entries showing PHP notices or warnings related to undefined array keys in plugin functions.
- Apache/Nginx access logs with 200 responses to
admin-ajax.phpwithout prior authentication.
Detection Engineering
YARA Rule
rule CVE_2025_55712_WordPress_Plus_Addons_Missing_Auth {
meta:
description = "Detects exploitation attempts for CVE-2025-55712 in The Plus Addons for Elementor"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-55712"
strings:
$ajax_action = /action=(theplus_|plus_)[a-z_]+/ nocase
$vuln_file = "the-plus-addons-for-elementor-page-builder-lite" nocase
condition:
$ajax_action and $vuln_file
}
Sigma Rule
title: CVE-2025-55712 - Missing Authorization in The Plus Addons for Elementor
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthenticated AJAX requests targeting vulnerable endpoints in The Plus Addons for Elementor Page Builder Lite
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-ajax.php'
cs-uri-query|re: 'action=(theplus_|plus_)'
sc-status: 200
condition: selection
falsepositives:
- Legitimate authenticated users (check for Cookie header)
level: high
Suricata Rule
alert http any any -> $EXTERNAL_NET any (
msg:"CVE-2025-55712 - Unauthenticated AJAX request to The Plus Addons for Elementor";
flow:to_server,established;
content:"POST"; http_method;
content:"admin-ajax.php"; http_uri;
pcre:"/action=(theplus_|plus_)/Ui";
sid:10000001;
rev:1;
reference:cve,2025-55712;
classtype:attempted-admin;
priority:2;
)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until an official patch is released. This is the most effective mitigation.
- Implement a WAF rule to block unauthenticated requests to
admin-ajax.phpwith actions containingtheplus_orplus_. - Monitor logs for exploitation attempts using the provided Sigma and Suricata rules.
Long-Term Fix:
- Apply the official patch from POSIMYTH once released. Check the WordPress plugin repository or the vendor’s website for updates.
- If patching is not possible, consider replacing the plugin with an alternative that provides similar functionality without the vulnerability.
Workaround:
- Add the following code to the theme’s
functions.phpto block unauthenticated access to vulnerable endpoints:
add_action('init', function() {
if (defined('DOING_AJAX') && DOING_AJAX && !is_user_logged_in()) {
$blocked_actions = array('theplus_save_settings', 'theplus_import_template');
$action = isset($_POST['action']) ? $_POST['action'] : '';
if (in_array($action, $blocked_actions)) {
wp_die('Unauthorized', 403);
}
}
});
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.