CVE-2025-64212
Executive Summary
CVE-2025-64212 is a Missing Authorization vulnerability in the MasterStudy LMS Pro WordPress plugin (masterstudy-lms-learning-management-system-pro) developed by StylemixThemes. This flaw allows an authenticated attacker with low privileges to exploit incorrectly configured access control security levels, potentially leading to unauthorized access to sensitive data or functionality. The vulnerability affects all versions prior to 4.7.16. As of this report, no official patch has been released, and no public exploit code or proof-of-concept is available. The CVSS score is 5.4 (Medium), and the EPSS probability is 0.0%, indicating low exploitation likelihood 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 WordPress plugin repository and commercial channels. Organizations using MasterStudy LMS Pro should treat this as a supply chain risk, as the plugin is a third-party component integrated into WordPress sites. No known malicious packages or backdoors have been associated with this CVE, but the lack of a patch increases the risk of supply chain compromise if attackers develop exploits.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
- Base Score: 5.4 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: Low (PR:L) – attacker must have a valid user account (e.g., subscriber or student role)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: Low (C:L) – limited data exposure
- Integrity Impact: Low (I:L) – limited ability to modify data
- Availability Impact: None (A:N)
Threat Level: Medium. The vulnerability requires authentication but is easy to exploit. The impact is limited to low-level data exposure and modification, but combined with other flaws could escalate.
Deep Dive & Mechanics
The vulnerability stems from missing authorization checks in the MasterStudy LMS Pro plugin’s REST API endpoints or AJAX handlers. The plugin fails to verify that the current user has the required capabilities (e.g., manage_options, edit_posts) before executing sensitive operations. This allows authenticated users with minimal privileges (e.g., students) to:
- Access or modify other users’ course progress, grades, or personal data.
- Enroll in courses without proper permissions.
- View or edit instructor-only content.
The flaw is classified under CWE-862: Missing Authorization. The vulnerable code likely uses current_user_can() incorrectly or omits it entirely in certain functions. The patch (expected in 4.7.16) will add proper capability checks.
Vulnerable vs. Patched Code
Vulnerable Code (Pre-4.7.16):
// Example vulnerable AJAX handler
add_action('wp_ajax_masterstudy_get_user_progress', 'get_user_progress');
function get_user_progress() {
$user_id = $_POST['user_id'];
// Missing capability check
$progress = get_user_meta($user_id, 'course_progress', true);
wp_send_json($progress);
}
Patched Code (Expected in 4.7.16):
add_action('wp_ajax_masterstudy_get_user_progress', 'get_user_progress');
function get_user_progress() {
// Added capability check
if (!current_user_can('manage_options') && get_current_user_id() != $_POST['user_id']) {
wp_die('Unauthorized', 403);
}
$user_id = intval($_POST['user_id']);
$progress = get_user_meta($user_id, 'course_progress', true);
wp_send_json($progress);
}
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A WordPress site with MasterStudy LMS Pro < 4.7.16.
- A valid low-privilege user account (e.g., student role).
Exploitation Steps:
- Authenticate to the WordPress site as a low-privilege user.
- Identify vulnerable endpoints by analyzing the plugin’s JavaScript or REST API routes (e.g.,
/wp-json/masterstudy-lms/v1/...). - Send a crafted request to a vulnerable endpoint, manipulating parameters like
user_idorcourse_id. - Observe unauthorized access to data or functionality.
Example cURL Request:
curl -X POST 'https://target.com/wp-admin/admin-ajax.php' \
-H 'Cookie: wordpress_logged_in_...' \
-d 'action=masterstudy_get_user_progress&user_id=1'
Blue Team (Detection & Defense)
Detection:
- Monitor for unusual AJAX requests to
admin-ajax.phpwith actions related to MasterStudy LMS Pro. - Look for requests where
user_idorcourse_idparameters are manipulated by low-privilege users. - Use the Sigma rule below to detect exploitation attempts.
Defense:
- Immediately restrict access to vulnerable endpoints via
.htaccessor a Web Application Firewall (WAF) until a patch is applied. - Disable the plugin if not critical.
- Implement additional capability checks via a custom plugin or mu-plugin.
Indicators of Compromise (IOCs)
- Network IOCs:
- POST requests to
/wp-admin/admin-ajax.phpwithactionparameters containingmasterstudy_and unexpecteduser_idvalues. - GET requests to
/wp-json/masterstudy-lms/v1/endpoints with unauthorized parameters.
- POST requests to
- File IOCs:
- Modified or new entries in
wp_usermetatable for unauthorized course progress changes. - Log entries in WordPress debug log showing capability errors.
- Modified or new entries in
- Behavioral IOCs:
- Low-privilege users accessing instructor-only course content.
- Unusual enrollment patterns from a single user account.
Detection Engineering
YARA Rule
rule CVE_2025_64212_MasterStudy_LMS_Pro_Missing_Auth {
meta:
description = "Detects exploitation attempts of CVE-2025-64212 in MasterStudy LMS Pro"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-64212"
strings:
$ajax_action = "masterstudy_" nocase
$user_id_param = "user_id" nocase
$course_id_param = "course_id" nocase
condition:
any of ($ajax_action) and any of ($user_id_param, $course_id_param)
}
Sigma Rule
title: CVE-2025-64212 MasterStudy LMS Pro Missing Authorization Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation attempts of CVE-2025-64212 via AJAX requests
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-ajax.php'
cs-uri-query|contains: 'action=masterstudy_'
condition: selection
falsepositives:
- Legitimate admin actions
level: medium
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2025-64212 MasterStudy LMS Pro Missing Authorization Exploitation";
flow:to_server,established;
content:"POST"; http_method;
content:"admin-ajax.php"; http_uri;
content:"action=masterstudy_"; http_client_body;
classtype:attempted-user;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Upgrade to MasterStudy LMS Pro version 4.7.16 or later as soon as it becomes available.
- Disable the plugin if it is not essential for business operations.
- Restrict access to vulnerable endpoints using a Web Application Firewall (WAF) or
.htaccessrules:<Files "admin-ajax.php"> Require all denied </Files> - Audit user roles and remove unnecessary low-privilege accounts.
Long-Term Measures:
- Implement a WordPress security plugin (e.g., Wordfence, Sucuri) to monitor for exploitation attempts.
- Conduct regular vulnerability scans of all plugins and themes.
- Enforce least privilege for all WordPress user roles.
- Subscribe to vendor security advisories for StylemixThemes products.
Valters IT Signature: This report was generated by Valters IT – DevSecOps & Cyber Threat Intelligence Division. For questions or further analysis, contact security@valters-it.com.
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.