CVE-2025-62964
Executive Summary
CVE-2025-62964 is a Missing Authorization vulnerability in the RealMag777 MDTF (Meta Data Filter and Taxonomy Filter) WordPress plugin, affecting versions up to and including 1.3.6. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized data exposure or manipulation of filter configurations. The vulnerability resides in the WordPress plugin ecosystem and is not related to the underlying web server (Apache/Nginx). With a CVSS score of 5.3 (Medium), the risk is elevated due to the lack of required authentication and the potential for information disclosure. No public exploit code or patch is currently available, making proactive detection and mitigation critical.
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. Organizations using MDTF should verify the integrity of their plugin installation and monitor for updates. Since no patch exists, consider removing or disabling the plugin until a fix is released. Supply chain risk is moderate, as the plugin is not a core dependency but can expose sensitive metadata if exploited.
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) – Impact confined to the vulnerable component.
- Confidentiality (C): Low (L) – Limited information disclosure.
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. The vulnerability is easy to exploit remotely without authentication, but the impact is limited to low confidentiality loss. However, in combination with other flaws, it could be chained for more severe attacks.
Deep Dive & Mechanics
The MDTF plugin provides custom meta data filtering and taxonomy filtering for WordPress posts. The vulnerability stems from missing authorization checks in AJAX handlers or REST endpoints that process filter configurations or meta data queries. Specifically, the plugin fails to verify user capabilities (e.g., manage_options or edit_posts) before executing sensitive operations, allowing unauthenticated users to:
- Retrieve meta data from hidden or private posts.
- Modify filter settings (if write endpoints are exposed).
- Enumerate taxonomy terms or custom fields.
The core issue is that the plugin relies on client-side access control or omits server-side capability checks entirely. For example, an AJAX action like mdtf_get_meta might return meta values without verifying the user has permission to view the associated post.
Vulnerable vs. Patched Code
Since no official patch exists, the vulnerable code pattern is inferred from the CWE-862 description. A typical vulnerable snippet might look like:
// Vulnerable: No capability check
add_action('wp_ajax_nopriv_mdtf_get_data', 'mdtf_get_data_handler');
function mdtf_get_data_handler() {
$post_id = $_POST['post_id'];
$meta_key = $_POST['meta_key'];
echo get_post_meta($post_id, $meta_key, true);
wp_die();
}
A patched version would include:
// Patched: Capability check added
add_action('wp_ajax_mdtf_get_data', 'mdtf_get_data_handler');
add_action('wp_ajax_nopriv_mdtf_get_data', 'mdtf_get_data_handler');
function mdtf_get_data_handler() {
if (!current_user_can('edit_posts')) {
wp_die('Unauthorized', 403);
}
$post_id = intval($_POST['post_id']);
$meta_key = sanitize_key($_POST['meta_key']);
echo get_post_meta($post_id, $meta_key, true);
wp_die();
}
Note: The nopriv hook allows unauthenticated access; the patched version restricts it to authenticated users with edit_posts capability.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target WordPress site with MDTF plugin <= 1.3.6.
- No authentication required.
Exploitation Steps:
- Identify vulnerable endpoints by analyzing plugin AJAX actions (e.g.,
mdtf_get_meta,mdtf_save_filter). - Craft a request to retrieve sensitive meta data:
curl -X POST "http://target/wp-admin/admin-ajax.php" \ -d "action=mdtf_get_meta&post_id=1&meta_key=_wp_page_template" - For filter manipulation, attempt to modify settings:
curl -X POST "http://target/wp-admin/admin-ajax.php" \ -d "action=mdtf_save_filter&filter_data=malicious_payload"
Expected Outcome: Unauthorized access to post meta data, taxonomy terms, or filter configurations.
Blue Team
Detection:
- Monitor for unusual AJAX requests to
admin-ajax.phpwithactionparameters starting withmdtf_from unauthenticated users. - Look for repeated requests to enumerate post IDs or meta keys.
Hunting Queries:
- Splunk:
index=web sourcetype=access_combined uri_path="/wp-admin/admin-ajax.php" form_data=*mdtf_* - ELK:
http.request.uri: "/wp-admin/admin-ajax.php" AND http.request.body: "action=mdtf_"
Mitigation:
- Disable the plugin immediately if not essential.
- Implement a Web Application Firewall (WAF) rule to block unauthenticated requests to
admin-ajax.phpwithmdtf_actions. - Use a plugin like "User Role Editor" to restrict access to AJAX handlers.
Indicators of Compromise (IOCs)
- Network:
- POST requests to
/wp-admin/admin-ajax.phpwithaction=mdtf_*parameters. - Repeated requests with varying
post_idvalues.
- POST requests to
- File System:
- Modified plugin files in
/wp-content/plugins/wp-meta-data-filter-and-taxonomy-filter/. - Unexpected log entries in WordPress debug log.
- Modified plugin files in
- Behavioral:
- Unauthorized access to draft/private post meta data.
- Changes to filter settings without admin intervention.
Detection Engineering
YARA Rule
rule CVE_2025_62964_MDTF_Missing_Auth {
meta:
description = "Detects exploitation attempts of CVE-2025-62964 in MDTF plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-62964"
strings:
$ajax_action = "action=mdtf_" nocase
$admin_ajax = "admin-ajax.php" nocase
$post_id = "post_id=" nocase
$meta_key = "meta_key=" nocase
condition:
all of them
}
Sigma Rule
title: CVE-2025-62964 MDTF Missing Authorization Exploitation
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects unauthenticated AJAX requests targeting MDTF plugin
author: Valters IT
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-uri-query|contains: "admin-ajax.php"
cs-uri-query|contains: "action=mdtf_"
cs-method: "POST"
condition: selection
falsepositives:
- Legitimate admin actions (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-62964 MDTF Missing Authorization Exploitation"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=mdtf_"; http_client_body; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin if not critical to operations.
- Apply virtual patching via WAF to block unauthenticated
mdtf_*AJAX actions. - Monitor logs for exploitation attempts using the provided detection rules.
Long-Term Fix:
- Wait for an official patch from RealMag777. Once released, update to the patched version immediately.
- If the plugin is abandoned, consider replacing it with an alternative like "Search & Filter" or "FacetWP".
Compromise Assessment:
- Check for unauthorized access to sensitive post meta data (e.g.,
_wp_page_template, custom fields). - Review server access logs for suspicious
admin-ajax.phprequests. - Verify file integrity of the MDTF plugin directory.
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.