Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or register WordPress author-level account
-
DeliveryCreate or edit lesson with crafted attachment title containing XSS payload
-
ExploitPayload persists in WordPress database unsanitized
-
ExecutionVictim navigates to lesson page with injected attachment
-
PersistBrowser renders unescaped title and executes script
-
ImpactAttacker steals session token or performs actions as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a WordPress user account with at minimum author-level role, specifically one that has permission to create or edit lessons and upload attachments within the Tutor LMS plugin. The affected functionality is the Lesson Attachment Title field - it must be possible for the attacker to set or modify this field in a lesson. A victim must subsequently access a course page that renders the attachment (e.g., a student or administrator viewing lesson content), which constitutes the UI requirement. Exploitation is therefore limited by: (1) the attacker must hold or obtain an authenticated author-level or higher account on the target WordPress site; (2) the Tutor LMS plugin must be installed, active, and in a version ≤ 3.9.13; (3) at least one victim must load the page containing the injected attachment. Sites that restrict author-role registration or require manual approval of course-creation accounts significantly reduce real-world exploitability beyond the raw CVSS score suggests. |
| Impact | The NVD-assigned CVSS 3.1 score of 6.4 (Medium) reflects a network-delivered, low-complexity attack requiring only low privilege (author role) with a scope change that grants limited confidentiality and integrity impact against victims. The UI:N metric in the provided vector is debatable for stored XSS - victim page-access is an implicit prerequisite - which suggests a more accurate score is approximately 5.4 with UI:R applied. EPSS data was not included in this advisory; without it, broad exploitation probability must be inferred from contextual signals: author-level WordPress roles are relatively easy to obtain on sites that permit open course-author registration (common in eLearning deployments), and the Wordfence advisory directly links to the vulnerable lines of code, functioning as near-equivalent disclosure. KEV status is absent, indicating no confirmed mass exploitation. Exploitation is not automatable against arbitrary targets - it requires an account - but against platforms with open author registration, the effective barrier is low. Overall: a real, prioritized risk for eLearning sites that allow self-serve course-author registration; lower urgency for sites where author accounts are tightly controlled. |
| Exploit ScenarioDerived | An attacker registers or compromises an author-level WordPress account on a site running Tutor LMS 3.9.13 or earlier, then creates or edits a lesson and names an attachment with a crafted title such as a script injection payload. The payload is saved to the WordPress database without sanitization. When any site visitor - including administrators - views the affected lesson page, the attachment title is rendered without escaping, causing the injected script to execute in their browser, potentially exfiltrating session cookies or performing authenticated actions on their behalf. No public proof-of-concept exploit was identified in the provided data, but the Wordfence advisory directly identifies the vulnerable code lines, substantially lowering independent exploit development effort. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 01, 2026
Stored Cross-Site Scripting in Tutor LMS (WordPress plugin by Themeum) versions through 3.9.13 allows authenticated attackers holding author-level or higher WordPress roles to inject persistent malicious scripts via the Lesson Attachment Title field. The injected payload is stored in the WordPress database and executes in the browser of any user who subsequently accesses a course page rendering the attachment - achieving a scope change from the plugin's context into the victim's browsing session. No public exploit code or CISA KEV listing has been identified at time of analysis, but the Wordfence disclosure includes direct source-code references to the vulnerable rendering path, lowering the barrier to exploitation.
RemediationAI
The primary fix is to update the Tutor LMS plugin beyond version 3.9.13 - a patch has been committed to the WordPress plugin SVN repository (changeset 3590029: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3590029%40tutor&new=3590029%40tutor), though the exact released version number containing this fix is not independently confirmed from the provided data. Site administrators should check the Tutor LMS changelog in the WordPress plugin directory and install the newest available version immediately. As a compensating control if immediate patching is not feasible, restrict the WordPress author role so that only fully trusted users can create or edit course lessons and attachments - this directly removes the attack surface by limiting who can supply the malicious title. A Web Application Firewall (WAF) rule targeting stored script injection in lesson attachment fields can also reduce risk, though WAF bypass is possible and should not substitute for patching. Sites that permit open course-author registration carry the highest risk and should prioritize the update or temporarily disable self-registration until the patch is applied.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in the Tutor LMS plugin (CPE: cpe:2.3:a:themeum:tutor_lms_-_elearning_and_online_course_solution:*:*:*:*:*:*:*:*), a WordPress-based eLearning platform by Themeum. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS): user-supplied attachment title text is accepted without adequate sanitization in the data-entry path (Utils.php around lines L1688 and L1720) and is later rendered without proper output escaping in the template layer (templates/global/attachments.php at line L34). Because the unsanitized value persists in the WordPress database and is subsequently emitted verbatim into HTML, any attacker who can create or edit course lessons can plant a payload that fires on every future page load in any authenticated or unauthenticated visitor's browser. The CVSS S:C (scope-changed) metric reflects this cross-context execution: the attacker's payload escapes the plugin's own authorization boundary and runs in the victim's browser session.
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:C/C:L/I:L/A:N
Stored XSS requires a victim to load the injected page (UI:R); all other metrics align with the provided vector: low-privilege author account (PR:L), network delivery, scope change into victim browser (S:C), no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Tutor LMS - eLearning and online course solution plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Lesson Attachment Title in all versions up to, and including, 3.9.13 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Remote 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 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
Tutor LMS plugin for WordPress up to version 3.9.7 allows authenticated subscribers to enroll in private courses due to
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
EUVD-2026-40893
GHSA-78vh-g76h-gmfr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB