CVE-2025-66135
Executive Summary
CVE-2025-66135 is a Missing Authorization vulnerability in the Merkulove Imager for Elementor WordPress plugin, affecting versions up to and including 2.0.4. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized data access or modification. The vulnerability is classified under CWE-862 (Missing Authorization) and has a CVSS score of 5.4 (Medium). As of the latest intelligence, no official patch has been released, and no public exploit code or proof-of-concept (PoC) is available. The EPSS score is 0.0%, indicating a low probability of active exploitation in the wild, but the risk remains due to the lack of a patch.
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 are advised to verify the integrity of their plugin files and monitor for any unauthorized modifications. Since no patch is available, the supply chain risk is elevated, and organizations should consider disabling the plugin until a fix is released.
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) – The vulnerable component remains within its security scope.
- Confidentiality (C): Low (L) – Limited data exposure possible.
- Integrity (I): Low (L) – Limited data modification possible.
- Availability (A): None (N) – No impact on availability.
Threat Level: Medium. The vulnerability is easy to exploit remotely without authentication, but the impact is limited to low confidentiality and integrity loss. The lack of a patch and public exploit code reduces immediate risk, but the potential for targeted attacks remains.
Deep Dive & Mechanics
The vulnerability resides in the Imager for Elementor plugin, which extends the Elementor page builder with image manipulation features. The plugin fails to properly enforce authorization checks on certain AJAX actions or REST API endpoints, allowing unauthenticated users to trigger functions that should require administrative or editor-level privileges.
Root Cause: The plugin uses wp_ajax_* hooks without verifying the current_user_can() capability, or it exposes REST API routes without proper permission callbacks. This allows any visitor to invoke actions such as:
- Retrieving or modifying plugin settings.
- Accessing or deleting uploaded images.
- Triggering server-side image processing functions.
Attack Vector: An attacker sends crafted HTTP requests to the vulnerable endpoints, bypassing the intended access controls. The attack does not require any prior authentication or user interaction.
Impact: Successful exploitation could lead to:
- Unauthorized access to sensitive image data.
- Modification of plugin configuration.
- Potential cross-site scripting (XSS) if the plugin outputs user-controlled data without sanitization.
Vulnerable vs. Patched Code
Since no patch is available, a comparison cannot be made. However, based on the vulnerability type, the fix would involve adding capability checks to all AJAX and REST API endpoints. For example:
Vulnerable Code (hypothetical):
add_action('wp_ajax_imager_process_image', 'imager_process_image');
add_action('wp_ajax_nopriv_imager_process_image', 'imager_process_image');
function imager_process_image() {
// Process image without checking user capabilities
$image_id = $_POST['image_id'];
// ... processing logic
}
Patched Code (hypothetical):
add_action('wp_ajax_imager_process_image', 'imager_process_image');
function imager_process_image() {
if (!current_user_can('edit_posts')) {
wp_die('Unauthorized', 403);
}
$image_id = $_POST['image_id'];
// ... processing logic
}
Exploitation & Lab Setup
Red Team (Exploitation)
No public exploit code is available. To test the vulnerability in a lab environment:
- Install WordPress with the Imager for Elementor plugin (version <= 2.0.4).
- Identify vulnerable endpoints by analyzing the plugin's source code for
wp_ajax_nopriv_*hooks or REST API routes without permission callbacks. - Send a crafted HTTP request to the endpoint, e.g.:
curl -X POST http://target/wp-admin/admin-ajax.php \ -d 'action=imager_process_image&image_id=123' - Observe the response for unauthorized access to data or functionality.
Blue Team (Detection & Defense)
- Monitor for unusual AJAX requests to
admin-ajax.phpwith actions related to the Imager plugin from unauthenticated users. - Implement Web Application Firewall (WAF) rules to block requests to known vulnerable endpoints.
- Disable the plugin until a patch is available.
- Review server logs for 403 errors or unexpected access to plugin-specific endpoints.
Indicators of Compromise (IOCs)
- File Hashes (SHA-256): (None available – plugin files may vary by version)
- Network Indicators:
- HTTP requests to
/wp-admin/admin-ajax.phpwithactionparameters containingimager_prefix. - Unusual POST requests to REST API endpoints under
/wp-json/imager-elementor/.
- HTTP requests to
- Log Entries:
- Repeated 403 Forbidden responses from plugin endpoints.
- Unexpected access to plugin settings or image processing functions.
Detection Engineering
YARA Rule
rule CVE_2025_66135_Imager_Elementor {
meta:
description = "Detects vulnerable Imager for Elementor plugin files"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-66135"
strings:
$vuln_func = "wp_ajax_nopriv_imager_" ascii wide nocase
$vuln_rest = "register_rest_route" ascii wide nocase
condition:
any of them
}
Sigma Rule
title: CVE-2025-66135 - Missing Authorization in Imager for Elementor
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthorized access attempts to Imager for Elementor plugin endpoints
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|contains: 'action=imager_'
sc-status: 200
condition: selection
falsepositives:
- Legitimate admin actions (if authenticated)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-66135 - Imager for Elementor Missing Authorization Attempt"; flow:to_server; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=imager_"; http_client_body; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: Disable the Imager for Elementor plugin until an official patch is released.
- Workaround: If the plugin is critical, restrict access to its endpoints via
.htaccessor server-level rules:
(Note: This may break other AJAX functionality; use with caution.)<FilesMatch "admin-ajax\.php"> Require all denied </FilesMatch> - Monitor: Subscribe to the Merkulove plugin changelog for patch announcements.
- Alternative: Consider using a different image plugin that is actively maintained and patched.
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.