Masteriyo LMS – Online Course Builder for eLearning, LMS & Education <= 2.1.5 - Missing Authorization
Description
The Masteriyo LMS – Online Course Builder for eLearning, LMS & Education plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in all versions up to, and including, 2.1.5. This makes it possible for unauthenticated attackers to perform an unauthorized action.
CVSS Vector Breakdown
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NTechnical Details
<=2.1.5What Changed in the Fix
Changes introduced in v2.1.6
Source Code
WordPress.org SVN# Vulnerability Research Plan: CVE-2026-39524 - Masteriyo LMS Missing Authorization ## 1. Vulnerability Summary The **Masteriyo LMS** plugin (up to version 2.1.5) contains a missing authorization vulnerability in its Stripe integration addon. Specifically, the function `save_stripe_account()` in `M…
Show full research plan
Vulnerability Research Plan: CVE-2026-39524 - Masteriyo LMS Missing Authorization
1. Vulnerability Summary
The Masteriyo LMS plugin (up to version 2.1.5) contains a missing authorization vulnerability in its Stripe integration addon. Specifically, the function save_stripe_account() in Masteriyo\Addons\Stripe\StripeAddon is responsible for updating sensitive Stripe settings (including stripe_user_id and sandbox mode).
While the function is hooked to admin_head and performs a nonce check (masteriyo_stripe_nonce), it fails to perform a capability check (e.g., current_user_can('manage_options')). If an attacker can obtain a valid masteriyo_stripe_nonce (which is often leaked in public localized scripts or during unauthenticated interactions) and trick the environment into satisfying the get_current_screen() check, or if the logic is reachable via other means, they can manipulate the plugin's payment configuration.
2. Attack Vector Analysis
- Endpoint:
wp-admin/admin.php?page=masteriyo(or any URL that satisfies thetoplevel_page_masteriyoscreen check). - Hook:
admin_headviaStripeAddon::save_stripe_account. - Vulnerable Parameters:
nonce,accountId,mode. - Authentication: Unauthenticated (if the nonce
Check if your site is affected.
Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.