Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
PR:L reflects required subscriber account; UI:R for victim page view; S:C for cross-user script execution; A:N as XSS does not cause direct availability loss.
Primary rating from Vendor (Patchstack).
CVSS VectorVendor: Patchstack
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
Lifecycle Timeline
1DescriptionCVE.org
Subscriber Cross Site Scripting (XSS) in Masteriyo - LMS <= 2.3.0 versions.
AnalysisAI
Stored Cross-Site Scripting in Masteriyo LMS WordPress plugin versions up to and including 2.3.0 allows authenticated subscriber-level users to inject malicious scripts that execute in the browsers of higher-privileged users such as administrators. The scope change (S:C in CVSS) indicates that a low-privilege attacker can impact users outside their own session, making this a privilege escalation vector in practice - a subscriber could steal admin session cookies or trigger unauthorized actions on behalf of administrators. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog.
Technical ContextAI
Masteriyo LMS is a WordPress learning management system plugin (CPE: cpe:2.3:a:masteriyo:masteriyo_-_lms:*:*:*:*:*:*:*:*). The vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation), meaning user-supplied input from subscriber-level accounts is not properly sanitized or encoded before being rendered in HTML output. WordPress subscribers are the lowest default authenticated role, able only to read content and manage their own profile. The flaw likely exists in a subscriber-accessible input field - such as a course review, profile field, or quiz response - where the plugin fails to apply wp_kses or equivalent output escaping before rendering stored data to other users, including administrators.
RemediationAI
Update the Masteriyo LMS plugin to a version above 2.3.0 via the WordPress admin dashboard or the official WordPress plugin repository. The Patchstack advisory at the reference URL should be consulted to confirm the exact patched version number, as no specific fix version was included in the available intelligence data. As a compensating control pending patching, site administrators should disable open subscriber self-registration (Settings > General > uncheck 'Anyone can register') to prevent untrusted users from obtaining the subscriber role required to exploit this flaw - note this may impact course enrollment workflows that depend on self-registration. Additionally, a Web Application Firewall rule blocking common XSS payloads in POST parameters can reduce exposure but should not be treated as a permanent substitute for patching.
More in Masteriyo Lms
View allUnauthenticated arbitrary user session termination (force-logout) in the Masteriyo LMS WordPress plugin before version 2
Unauthenticated access to Masteriyo LMS WordPress plugin's course-progress REST API controller exposes all users' learni
Stored Cross-Site Scripting in the Masteriyo LMS WordPress plugin (all versions before 2.3.3) allows instructor-role use
Unauthenticated arbitrary file upload in the Masteriyo LMS WordPress plugin (versions <= 2.3.2) lets remote attackers up
Privilege escalation in the ThemeGrill Masteriyo LMS WordPress plugin (versions up to and including 2.2.0) allows authen
Broken access control in the Masteriyo - LMS WordPress plugin (versions up to and including 2.1.5) allows remote unauthe
Unauthenticated broken authentication in the Masteriyo LMS WordPress plugin (versions ≤2.1.8) stems from improper JWT si
Insecure Direct Object Reference in the Masteriyo LMS WordPress plugin (versions ≤ 2.3.1) allows authenticated subscribe
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-48186
GHSA-g763-qq67-4q57