CVE-2025-62889
Executive Summary
CVE-2025-62889 is a Missing Authorization vulnerability in the King Addons for Elementor WordPress plugin (versions <= 51.1.61). This flaw allows unauthenticated attackers to exploit incorrectly configured access control security levels, potentially leading to unauthorized data access or modification. As a WordPress plugin vulnerability, it resides entirely within the WordPress ecosystem and does not implicate the underlying web server (Apache/Nginx). The CVSS score of 6.5 (Medium) reflects the network-based, low-complexity attack vector with no privileges required, though the impact is limited to confidentiality and integrity (no availability impact). No public exploit code or proof-of-concept (PoC) is currently available, and the vendor has not released 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 should verify the integrity of their plugin installation by checking file hashes against the official source. No known supply chain compromise has been reported, but the lack of a patch increases the risk of malicious actors embedding backdoors in unpatched copies.
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) – Vulnerability does not affect other components.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited data modification.
- Availability (A): None (N) – No denial-of-service impact.
Threat Level: Medium. The low EPSS score (0.0%) suggests active exploitation is unlikely at this time, but the missing authorization nature makes it a prime target for automated scanning.
Deep Dive & Mechanics
The vulnerability stems from missing capability checks in AJAX handlers or REST endpoints within the King Addons for Elementor plugin. Specifically, functions that should require a user with at least edit_posts or manage_options capabilities are accessible to unauthenticated users. This allows an attacker to:
- Read sensitive plugin settings or user data.
- Modify plugin configurations (e.g., API keys, whitelist rules).
- Trigger actions that should be restricted to administrators.
The flaw is present in all versions up to and including 51.1.61. The plugin likely uses wp_ajax_* hooks without verifying current_user_can() or wp_verify_nonce().
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable pattern. A typical vulnerable AJAX handler might look like:
// Vulnerable: No capability check
add_action('wp_ajax_nopriv_king_addons_save_settings', 'king_addons_save_settings');
function king_addons_save_settings() {
update_option('king_addons_settings', $_POST['settings']);
wp_die();
}
A patched version would include:
// Patched: Capability check added
add_action('wp_ajax_king_addons_save_settings', 'king_addons_save_settings');
function king_addons_save_settings() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
check_admin_referer('king_addons_save_settings');
update_option('king_addons_settings', $_POST['settings']);
wp_die();
}
The key difference is the removal of nopriv_ (allowing unauthenticated access) and the addition of current_user_can() and nonce verification.
Exploitation & Lab Setup
Red Team
Since no public exploit exists, a manual approach is required. Use a tool like Burp Suite or cURL to probe for unprotected endpoints.
- Identify AJAX endpoints: Scan the plugin's JavaScript files for
admin-ajax.phpcalls. - Craft a request: Send a POST request to
/wp-admin/admin-ajax.phpwithaction=king_addons_save_settingsand arbitrary parameters. - Verify unauthorized access: If the request succeeds without authentication, the vulnerability is confirmed.
Example cURL command:
curl -X POST https://target.com/wp-admin/admin-ajax.php \
-d "action=king_addons_save_settings&settings[api_key]=test"
Blue Team
To detect exploitation attempts, monitor for:
- Unauthenticated POST requests to
/wp-admin/admin-ajax.phpwithactionparameters containingking_addons. - Anomalous changes to plugin options in the database (e.g.,
wp_optionstable withking_addons_*keys). - Unexpected admin user creation or privilege escalation (if the plugin exposes user management).
Indicators of Compromise (IOCs)
- Network: POST requests to
/wp-admin/admin-ajax.phpwithaction=king_addons_*from unauthenticated sources. - File: Modified plugin files in
/wp-content/plugins/king-addons/(check file integrity via checksums). - Database: New or altered entries in
wp_optionswithking_addons_prefix. - Log: WordPress debug log entries showing
wp_ajax_nopriv_king_addons_*calls.
Detection Engineering
YARA Rule
rule Detect_King_Addons_Missing_Auth {
meta:
description = "Detects vulnerable King Addons for Elementor plugin files with missing authorization"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-62889"
strings:
$vuln_pattern = "wp_ajax_nopriv_king_addons_" ascii wide nocase
$safe_pattern = "current_user_can" ascii wide nocase
condition:
$vuln_pattern and not $safe_pattern
}
Sigma Rule
title: Unauthenticated King Addons AJAX Request
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthenticated POST requests to WordPress admin-ajax.php with King Addons actions
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|all:
- action=king_addons_
condition: selection
falsepositives:
- Legitimate admin actions (if logged in)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-62889 - Unauthenticated King Addons AJAX Request"; flow:to_server; http.method; content:"POST"; http.uri; content:"/wp-admin/admin-ajax.php"; http.client_body; content:"action=king_addons_"; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable the King Addons for Elementor plugin until a patch is available.
- Workaround: Implement a Web Application Firewall (WAF) rule to block unauthenticated requests to
/wp-admin/admin-ajax.phpwithactionparameters starting withking_addons_. - Long-term: Monitor the vendor's website (kingaddons.com) for a patched version. Consider replacing the plugin with an alternative that has active security maintenance.
- Hardening: Ensure WordPress core, themes, and all other plugins are up to date. Use a security plugin to enforce capability checks on all AJAX endpoints.
Valters IT
DevSecOps & Cyber Threat Intelligence Division
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.