Tutor LMS <= 3.9.7 - Missing Authorization to Authenticated (Subscriber+) Unauthorized Private Course Enrollment
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-862.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-3358
- 2026-10-03 Alias added: GHSA-mf3h-x5xj-q2g5
References
Other 7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/0c173356-7228-4253-bb28-2c2e11af76fd?source=cve
- https://plugins.trac.wordpress.org/browser/tutor/tags/3.9.7/classes/Course.php#L2066
- https://plugins.trac.wordpress.org/browser/tutor/tags/3.9.7/classes/Course.php#L134
- https://plugins.trac.wordpress.org/browser/tutor/trunk/classes/Course.php#L2053
- https://plugins.trac.wordpress.org/browser/tutor/trunk/classes/Course.php#L2989
- https://plugins.trac.wordpress.org/changeset?old_path=%2Ftutor/tags/3.9.7&new_path=%2Ftutor/tags/3.9.8
- https://plugins.trac.wordpress.org/changeset/3496394/tutor/trunk/classes/Course.php
More themeum vulnerabilities
- TI-2024-09629 Tutor LMS <= 2.7.6 - Unauthenticated SQL Injection via rating_filter CVSS 3.1HIGH 7.5
- TI-2023-02936 Tutor LMS < 2.2.1 - Unauthenticated Access to Tutor LMS Lesson Resources via REST API CVSS 3.1HIGH 7.5
- TI-2021-07196 Qubely < 1.8.6 - Unauthenticated Arbitrary E-mail Sending CVSS 3.1HIGH 7.5
- TI-2023-05666 WP Crowdfunding < 2.1.9 - Reflected XSS CVSS 3.1MEDIUM 6.1
- TI-2023-00225 Tutor LMS < 2.0.10 - Reflected Cross-Site Scripting CVSS 3.1MEDIUM 6.1
- TI-2023-04422 Tutor LMS < 2.3.0 - Subscriber+ Stored Cross-Site Scripting CVSS 3.1MEDIUM 5.4
Sources
- CVE-2026-3358 · CVE Program
- CVE-2026-3358 · NVD
- FIRST EPSS
- GHSA-mf3h-x5xj-q2g5 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences