Masteriyo LMS <= 2.1.7 - Unauthenticated Authorization Bypass to Arbitrary Order Completion via Stripe Webhook Endpoint
Strategic Overview
- Status
- Patched in 2.1.8
- Affected Plugin
- Masteriyo LMS – LMS Course Builder, Quizzes & Certificates
- Affected Version
<= 2.1.7- CVSS
- 5.3Medium
- Weakness type
- CWE-639 · Authorization Bypass Through User-Controlled Key
- CVE
CVE-2026-5167
At a glance
CVE-2026-5167 is a medium-severity Authorization Bypass Through User-Controlled Key vulnerability in the Masteriyo LMS WordPress plugin, affecting versions <= 2.1.7. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 2.1.8; sites on affected versions should update now. Disclosed April 2026, reported by Md. Moniruzzaman Prodhan (NomanProdhan).
Vulnerability Overview
The Masteriyo LMS – Online Course Builder for eLearning, LMS & Education plugin for WordPress is vulnerable to Authorization Bypass Through User-Controlled Key in versions up to and including 2.1.7. This is due to insufficient webhook signature verification in the handle_webhook() function. The webhook endpoint processes unauthenticated requests and only performs signature verification if both the webhook_secret setting is configured AND the HTTP_STRIPE_SIGNATURE header is present. Since webhook_secret defaults to an empty string, the webhook processes attacker-controlled JSON payloads without any verification. This makes it possible for unauthenticated attackers to send fake Stripe webhook events with arbitrary order_id values in the metadata, mark any order as completed without payment, and gain unauthorized access to paid course content.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.
CWE-639: Authorization Bypass Through User-Controlled Key
Masteriyo LMS <= 2.1.7 carries this weakness at handle_webhook(), and reaching it takes no account at all. Authorization bypass through a user-controlled key, often called insecure direct object reference, means the application looks up a record by an identifier from the request without checking that the caller owns it.
Changing a number in the request is enough to read or modify other users' records, which on commerce and membership sites means customer data. For Masteriyo LMS the fix is 2.1.8: builds <= 2.1.7 are affected, anything from 2.1.8 onward is not.
Remediation
Update to version 2.1.8, or a newer patched version
How does WordSec protect against this?
This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Masteriyo LMS 2.1.8 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in Masteriyo LMS – LMS Course Builder, Quizzes & Certificates
- 9.8CVE-2024-24882: Masteriyo - LMS <= 1.7.2 Privilege Escalation
CVE-2024-24882 - 8.8CVE-2026-49111: Masteriyo LMS Privilege Escalation
CVE-2026-49111 - 8.8CVE-2026-4484: Masteriyo LMS Authenticated (Student+) Privilege
CVE-2026-4484 - 8.8CVE-2024-10008: Masteriyo LMS Privilege Escalation
CVE-2024-10008 - 6.5CVE-2023-3345: Masteriyo - LMS for WordPress <= 1.6.7 Info Exposure
CVE-2023-3345 - 6.4CVE-2026-59513: Masteriyo LMS Stored XSS
CVE-2026-59513 - 6.4CVE-2025-54699: Masteriyo - LMS <= 1.18.3 Stored Cross-Site Scripting
CVE-2025-54699 - 6.4CVE-2024-10000: Masteriyo LMS Stored XSS
CVE-2024-10000
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C