CVE-2025-63006
Executive Summary
CVE-2025-63006 is a Missing Authorization vulnerability in the Metagauss EventPrime WordPress plugin (versions up to and including 4.2.4.1). This flaw allows an authenticated attacker with low privileges to exploit incorrectly configured access control security levels, potentially leading to unauthorized access to sensitive event data or administrative functions. The vulnerability is classified as a WordPress ecosystem issue, affecting the plugin's permission checks for REST API endpoints or AJAX actions. No public proof-of-concept (PoC) or patch is currently available, and the EPSS score is 0.0%, indicating low exploitation activity in the wild.
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 resides in a WordPress plugin distributed via the official WordPress plugin repository. Users are advised to monitor the plugin's update channel and apply any security patches immediately upon release. No known supply chain compromise has been reported.
CVSS Breakdown & Threat Level
- CVSS Score: 4.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: Low (authenticated user)
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: Low
- Integrity Impact: None
- Availability Impact: None
Threat Level: Medium. The vulnerability requires authentication but allows low-privileged users to access unauthorized data or functionality. Exploitation could lead to information disclosure or privilege escalation within the plugin context.
Deep Dive & Mechanics
The vulnerability stems from missing authorization checks in the EventPrime plugin's REST API or AJAX handlers. The plugin likely fails to verify that the current user has the required capabilities (e.g., edit_events, manage_options) before executing sensitive operations. This allows any authenticated user, including subscribers or contributors, to access endpoints intended for administrators or event managers.
Root Cause: The plugin uses current_user_can() checks inconsistently or relies on nonce verification alone without capability validation. Attackers can craft requests to endpoints like /wp-json/eventprime/v1/events or AJAX actions to retrieve, modify, or delete event data.
Attack Vector: An authenticated attacker sends crafted HTTP requests to the vulnerable endpoints, bypassing access controls due to missing capability checks.
Vulnerable vs. Patched Code
Since no patch is available, the following is a hypothetical example of the vulnerable pattern:
Vulnerable Code (PHP):
add_action('wp_ajax_eventprime_get_events', 'eventprime_get_events');
function eventprime_get_events() {
// Missing capability check
$events = get_posts(array('post_type' => 'eventprime_event'));
wp_send_json($events);
}
Patched Code (Hypothetical):
add_action('wp_ajax_eventprime_get_events', 'eventprime_get_events');
function eventprime_get_events() {
if (!current_user_can('edit_events')) {
wp_die('Unauthorized', 403);
}
$events = get_posts(array('post_type' => 'eventprime_event'));
wp_send_json($events);
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- WordPress instance with EventPrime plugin <= 4.2.4.1
- Valid low-privilege user credentials (e.g., subscriber)
Exploitation Steps:
- Authenticate to WordPress and obtain a nonce or cookie.
- Identify vulnerable endpoints by analyzing plugin source code or using fuzzing.
- Send a crafted request to the vulnerable endpoint:
curl -X GET 'http://target.com/wp-json/eventprime/v1/events' \
-H 'Cookie: wordpress_logged_in_<hash>=<session>' \
-H 'X-WP-Nonce: <nonce>'
- Observe unauthorized access to event data or administrative functions.
Expected Output: JSON response containing event details or success message for privileged actions.
Blue Team
Detection Steps:
- Monitor WordPress access logs for unusual API requests from low-privilege users.
- Look for patterns like repeated calls to
/wp-json/eventprime/v1/*oradmin-ajax.php?action=eventprime_*from non-admin roles. - Correlate with user role changes or privilege escalation attempts.
Hunting Query (Splunk):
index=web sourcetype=access_combined
| search uri="/wp-json/eventprime/v1/*" OR uri="*action=eventprime_*"
| eval user_role=if(match(cookie, "wordpress_logged_in"), "authenticated", "unknown")
| stats count by src_ip, user, uri, user_role
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests to
/wp-json/eventprime/v1/eventsor similar endpoints from low-privilege users. - Unusual POST requests to
admin-ajax.phpwithaction=eventprime_*parameters.
- HTTP requests to
File IOCs:
- Modified plugin files in
/wp-content/plugins/eventprime-event-calendar-management/(if exploited for code execution). - Unexpected log entries in
/wp-content/debug.logindicating capability errors.
- Modified plugin files in
Behavioral IOCs:
- Subscriber or contributor accounts accessing event management features.
- Sudden creation or deletion of events by non-admin users.
Detection Engineering
YARA Rule
rule Detect_EventPrime_Missing_Auth {
meta:
description = "Detects missing authorization patterns in EventPrime plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-63006"
strings:
$func1 = "add_action('wp_ajax_eventprime" ascii wide nocase
$func2 = "add_action('wp_ajax_nopriv_eventprime" ascii wide nocase
$miss = "current_user_can" ascii wide nocase
condition:
any of ($func*) and not $miss
}
Sigma Rule
title: EventPrime Missing Authorization Exploitation
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects attempts to exploit CVE-2025-63006 by accessing EventPrime API endpoints without proper authorization.
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-uri-query|contains:
- '/wp-json/eventprime/v1/'
- 'action=eventprime_'
condition: selection
falsepositives:
- Legitimate admin API calls
level: medium
Suricata Rule
alert http any any -> $HOME_NET any (
msg:"CVE-2025-63006 EventPrime Missing Authorization Attempt";
flow:to_server,established;
content:"/wp-json/eventprime/v1/"; http_uri;
content:"Cookie"; http_header;
pcre:"/wordpress_logged_in_[a-f0-9]{32}/";
classtype:attempted-recon;
sid:10000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is available, if the plugin is not critical.
- Restrict user roles to prevent low-privilege users from accessing the plugin's features.
- Implement a Web Application Firewall (WAF) rule to block requests to vulnerable endpoints from non-admin users.
Long-term Fix:
- Apply the official patch from Metagauss once released.
- Conduct a code review to ensure all AJAX and REST API endpoints include proper capability checks using
current_user_can()orwp_verify_nonce().
Workaround:
- Add custom code to your theme's
functions.phpto enforce authorization:
add_action('init', function() {
if (defined('DOING_AJAX') && DOING_AJAX) {
if (strpos($_REQUEST['action'], 'eventprime_') === 0) {
if (!current_user_can('edit_events')) {
wp_die('Unauthorized', 403);
}
}
}
});
Valters IT
Securing Digital Frontiers
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.