Tutor Lms Elearning And Online Course Solution
CVE-2026-3358
MEDIUM
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Impact | CVSS 5.4 (Medium) reflects network-accessible endpoints with low attack complexity and low privilege requirements, limited to confidentiality and integrity impacts without availability impact. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N) confirms unauthenticated access is NOT required-only Subscriber-level role is needed, a common default permission tier in WordPress installations. Real-world risk is moderate but operationally significant: the vulnerability enables privilege escalation within the WordPress permission model by allowing Subscribers to gain unauthorized access to course enrollment records and private course metadata intended only for administrators or instructors. SSVC considerations: exploitation is straightforward (no special conditions needed beyond valid Subscriber credentials), the technical impact is focused (enrollment data exposure, not remote code execution), but organizations using private courses for access-controlled content face direct confidentiality and integrity compromise. No KEV status or active exploitation confirmation provided, suggesting this is not yet widely exploited in the wild, though the low barrier to exploitation (standard WordPress Subscriber role) makes post-patch deployment critical. |
| Exploit ScenarioDerived | An authenticated user with WordPress Subscriber-level role (the default for site users) sends a crafted POST request to the enrollment endpoint with a private course ID, bypassing the missing post_status check. The enrollment record is created in the database, and the private course title and enrollment status now appear in the attacker's subscriber dashboard, leaking metadata about restricted content. While WordPress core access control prevents the Subscriber from viewing the actual course materials (returning 404 on access attempts), the enrollment record and metadata exposure constitutes unauthorized information disclosure about the private course structure and enrollment state. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 11, 2026
Tutor LMS plugin for WordPress up to version 3.9.7 allows authenticated subscribers to enroll in private courses due to missing post_status validation in enrollment functions, exposing private course metadata in user dashboards despite WordPress core preventing actual content access. The vulnerability requires subscriber-level authentication but affects confidentiality and integrity, with confirmed patches available in version 3.9.8.
RemediationAI
Vendor-released patch: Tutor LMS version 3.9.8 or later. Sites running version 3.9.7 or earlier must upgrade immediately to 3.9.8 to apply post_status validation in the enrollment functions. The patch corrects the enroll_now() and course_enrollment() functions to verify that enrolled courses are not in private post_status before allowing enrollment by Subscriber-level users. WordPress administrators can verify the patch is in place by reviewing the Course.php file at the relevant code locations (https://plugins.trac.wordpress.org/changeset?old_path=%2Ftutor/tags/3.9.7&new_path=%2Ftutor/tags/3.9.8). No workarounds are available; patching is the only remediation. Detailed advisory information is available from Wordfence at https://www.wordfence.com/threat-intel/vulnerabilities/id/0c173356-7228-4253-bb28-2c2e11af76fd?source=cve.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability exists in the enroll_now() and course_enrollment() functions within the Tutor LMS plugin's Course.php class. These endpoints perform nonce verification, user authentication checks, and purchasability validation but fail to implement CWE-862 (Missing Authorization) by omitting verification of the course's post_status field. In WordPress, posts with private post_status should only be readable by users with the read_private_posts capability; Tutor LMS does not enforce this restriction at the enrollment layer. While WordPress core access control prevents direct content viewing (returning 404), the enrollment record created in the database and metadata exposure in the subscriber dashboard constitute unauthorized information disclosure and unauthorized state modification.
Know when Tutor Lms Elearning And Online Course Solution gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
DescriptionCVE.org
The Tutor LMS - eLearning and online course solution plugin for WordPress is vulnerable to unauthorized private course enrollment in all versions up to, and including, 3.9.7. This is due to missing post_status validation in the enroll_now() and course_enrollment() functions. Both enrollment endpoints verify the nonce, user authentication, and whether the course is purchasable, but fail to check if the course has a private post_status. This makes it possible for authenticated attackers with Subscriber-level access or above to enroll in private courses by sending a crafted POST request with the target course ID. The enrollment record is created in the database and the private course title and enrollment status are exposed in the subscriber's dashboard, though WordPress core access control prevents the subscriber from viewing the actual course content (returns 404). Enrollment in private courses should be restricted to users with the read_private_posts capability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
Related Vulnerabilities in Tutor LMS Plugin Authorization Bypass
View all 2Remote code execution is achievable in Tutor LMS WordPress plugin (≤4.0.7) via a PHP Object Injection flaw in the withdr
Unauthenticated attackers can overwrite billing profile data (name, email, phone, address) for any WordPress user with a
Unauthenticated remote PHP function invocation in the Tutor LMS WordPress plugin (all versions up to and including 4.0.5
Second-order SQL injection in Tutor LMS for WordPress (all versions through 4.0.0) allows authenticated attackers with c
Tutor LMS WordPress plugin versions up to 4.0.8 expose arbitrary users' email addresses and Tutor profile phone numbers
SQL injection in Tutor LMS plugin for WordPress through version 3.9.8 allows authenticated Admin-level attackers to extr
Stored Cross-Site Scripting in Tutor LMS (WordPress plugin by Themeum) versions through 3.9.13 allows authenticated atta
Stored cross-site scripting in the Tutor LMS - eLearning and Online Course Solution WordPress plugin (all versions up to
Reflected cross-site scripting in the Tutor LMS WordPress plugin (all versions up to and including 4.0.8) lets unauthent
DOM-based cross-site scripting in the Tutor LMS eLearning and online course plugin for WordPress (versions up to and inc
Authenticated instructors in Tutor LMS versions up to 3.9.9 can manipulate course ownership logic via an attacker-contro
Tutor LMS plugin for WordPress versions up to 3.9.8 allow authenticated attackers to manipulate course content structure
NVD
CVE.org
EPSS
Vulnrichment
GitHub PoC
Exploit-DB