CVE-2025-63007
Executive Summary
CVE-2025-63007 is a medium-severity information disclosure vulnerability affecting the WordPress plugin EventPrime by Metagauss, versions up to and including 4.2.4.1. The vulnerability allows an unauthenticated attacker to retrieve embedded sensitive data by exploiting the insertion of sensitive information into sent data. This is a WordPress ecosystem issue, not related to the underlying web server (Apache/Nginx). The CVSS score is 4.3, and the EPSS score is 0.0%, indicating low exploitation likelihood currently. No public proof-of-concept (PoC) or patch is available at this time.
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. Users should verify the integrity of their plugin files and monitor for updates from the vendor. No known supply chain compromise has been reported.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Base Score: 4.3 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: Low (C:L)
- Integrity Impact: None (I:N)
- Availability Impact: None (A:N)
Threat Level: Medium. The vulnerability allows retrieval of embedded sensitive data (e.g., API keys, internal URLs, or configuration details) without authentication. While not critical, it can aid further attacks.
Deep Dive & Mechanics
The vulnerability resides in the EventPrime plugin's data handling mechanism. The plugin inserts sensitive information (such as API tokens, database credentials, or internal paths) into data sent to the client (e.g., via AJAX responses, REST API endpoints, or shortcode output). An unauthenticated attacker can trigger these endpoints to retrieve the embedded data.
Root Cause: The plugin fails to sanitize or restrict access to data that contains sensitive information before sending it to the client. This is a classic CWE-201 (Insertion of Sensitive Information Into Sent Data) issue.
Attack Vector: The attacker sends a crafted HTTP request to a vulnerable endpoint (e.g., /wp-json/eventprime/v1/settings or a similar REST route) that returns sensitive data in the response body.
Impact: An attacker can obtain:
- API keys for third-party services (e.g., payment gateways, email services)
- Internal database connection strings
- Secret tokens used for authentication
- File paths revealing server structure
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is presumed to be in the plugin's REST API or AJAX handlers. A typical vulnerable pattern might look like:
Vulnerable Code (PHP):
add_action('rest_api_init', function () {
register_rest_route('eventprime/v1', '/settings', array(
'methods' => 'GET',
'callback' => 'get_settings',
'permission_callback' => '__return_true' // No authentication
));
});
function get_settings() {
$settings = get_option('eventprime_settings');
// Contains sensitive data like API keys
return new WP_REST_Response($settings, 200);
}
Patched Code (Hypothetical):
add_action('rest_api_init', function () {
register_rest_route('eventprime/v1', '/settings', array(
'methods' => 'GET',
'callback' => 'get_settings',
'permission_callback' => function() {
return current_user_can('manage_options'); // Require admin
}
));
});
function get_settings() {
$settings = get_option('eventprime_settings');
// Remove sensitive fields before returning
unset($settings['api_key']);
unset($settings['secret_token']);
return new WP_REST_Response($settings, 200);
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target WordPress site with EventPrime plugin <= 4.2.4.1
- No authentication required
Exploitation Steps:
- Identify vulnerable endpoints by analyzing plugin source code or using wordlist fuzzing.
- Send a GET request to the vulnerable REST endpoint:
curl -v "http://target.com/wp-json/eventprime/v1/settings" - Parse the JSON response for sensitive data (e.g.,
api_key,secret,db_password).
Example Output:
{
"api_key": "sk_live_xxxxxxxxxxxxx",
"secret_token": "abc123def456",
"db_host": "localhost",
"db_user": "wp_user",
"db_password": "supersecret"
}
Blue Team
Detection:
- Monitor for unusual requests to
/wp-json/eventprime/v1/*endpoints from unauthenticated IPs. - Look for responses containing patterns like
api_key,secret,passwordin JSON bodies. - Use WAF rules to block access to sensitive REST endpoints without authentication.
Hunting:
- Search web server logs for requests to
/wp-json/eventprime/v1/with HTTP 200 responses. - Correlate with known attacker IPs or user agents.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP GET requests to
/wp-json/eventprime/v1/settingsor similar endpoints - Response bodies containing
api_key,secret,password,token - User-Agent strings:
curl/*,python-requests/*,Go-http-client/*
File IOCs:
- Plugin file:
/wp-content/plugins/eventprime-event-calendar-management/eventprime.php - Modified timestamps on plugin files (if attacker uploaded backdoor)
Log IOCs:
- Apache/Nginx access logs showing 200 responses to
/wp-json/eventprime/v1/*from unknown IPs - PHP error logs with warnings about undefined array keys (if attacker probes)
Detection Engineering
YARA Rule
rule CVE_2025_63007_EventPrime_InfoLeak {
meta:
description = "Detects sensitive data leakage from EventPrime plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-63007"
strings:
$sensitive1 = /"api_key"\s*:\s*"[A-Za-z0-9_]+"/
$sensitive2 = /"secret_token"\s*:\s*"[A-Za-z0-9]+"/
$sensitive3 = /"db_password"\s*:\s*"[^"]+"/
$endpoint = "/wp-json/eventprime/v1/"
condition:
any of ($sensitive*) and $endpoint
}
Sigma Rule
title: CVE-2025-63007 EventPrime Sensitive Data Leakage
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP responses containing sensitive data from EventPrime plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-stem|startswith: '/wp-json/eventprime/v1/'
sc-status: 200
keywords:
- 'api_key'
- 'secret_token'
- 'db_password'
condition: selection and keywords
falsepositives:
- Legitimate admin requests (should be authenticated)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-63007 EventPrime Sensitive Data Leakage"; flow:to_server,established; content:"/wp-json/eventprime/v1/"; http_uri; nocase; content:"api_key"; http_server_body; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the EventPrime plugin until a patch is released.
- If disabling is not possible, restrict access to the REST API endpoints using a WAF or .htaccess:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/wp-json/eventprime/v1/ [NC] RewriteCond %{HTTP_COOKIE} !wordpress_logged_in [NC] RewriteRule .* - [F,L] </IfModule> - Rotate any API keys, secrets, or passwords that may have been exposed.
Long-term Fix:
- Apply vendor patch when available (monitor Metagauss updates).
- Implement proper authentication and authorization for all REST API endpoints.
- Sanitize responses to remove sensitive data before sending to clients.
Workaround:
- Use a plugin like "WP REST API Authentication" to require authentication for all REST endpoints.
Valters IT
DevSecOps & Cyber Threat Intelligence
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.