Skip to main content

WordPress EUVDEUVD-2026-20117

| CVE-2026-5167 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-04-08 Wordfence GHSA-v3v2-w9v8-q7h6
5.3
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

3
EUVD ID Assigned
Apr 08, 2026 - 07:00 euvd
EUVD-2026-20117
Analysis Generated
Apr 08, 2026 - 07:00 vuln.today
CVE Published
Apr 08, 2026 - 06:43 nvd
MEDIUM 5.3

DescriptionCVE.org

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.

AnalysisAI

Unauthenticated attackers can bypass authorization in Masteriyo LMS plugin versions up to 2.1.7 by sending forged Stripe webhook events to mark arbitrary orders as completed without payment, granting unauthorized access to paid course content. The vulnerability stems from insufficient webhook signature verification in the handle_webhook() function, which processes requests with an empty default webhook_secret and only validates signatures if both the secret is configured and the HTTP_STRIPE_SIGNATURE header is present. No public exploit code or active exploitation has been identified at time of analysis, though the attack requires only network access and no authentication or user interaction.

Technical ContextAI

The Masteriyo LMS plugin integrates Stripe payment processing through a StripeAddon class that implements webhook handling to process payment events asynchronously. Webhooks are HTTP callbacks sent by Stripe to notify the plugin when payment status changes occur. The vulnerability exists in the handle_webhook() function (referenced in StripeAddon.php lines 563-639) which receives unauthenticated POST requests from the /webhook endpoint. The root cause is Authorization Bypass Through User-Controlled Key (CWE-639), where the verification mechanism depends on a cryptographic secret that defaults to an empty string. The function only performs HMAC-SHA256 signature verification against the HTTP_STRIPE_SIGNATURE header if webhook_secret is non-empty and the header is present; otherwise it processes the JSON payload without validation. This allows attackers to craft arbitrary webhook events (lines 649-704 contain order completion logic) with attacker-controlled metadata including order_id, causing the system to mark any order as paid and unlock course content access.

RemediationAI

Upgrade Masteriyo LMS plugin to version 2.1.8 or later, which implements proper webhook signature verification by default and no longer relies on user-configured secrets for security. The fix available at WordPress plugin repository changeset 3499458 demonstrates the remediation in the trunk version. If immediate upgrade is not feasible, as a temporary workaround, configure a strong, non-empty webhook_secret value in the plugin settings and ensure all Stripe webhook requests include the HTTP_STRIPE_SIGNATURE header (Stripe does this by default); however, this workaround is not a substitute for upgrading because it depends on correct administrator configuration. For detailed advisory information and patch confirmation, consult the Wordfence vulnerability report at https://www.wordfence.com/threat-intel/vulnerabilities/id/b6d51dc3-b695-4e9d-b25a-d1b302be1fec?source=cve and review the affected code locations in the WordPress plugin repository trac at https://plugins.trac.wordpress.org/browser/learning-management-system/trunk/addons/stripe/StripeAddon.php.

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-3495 CRITICAL POC
9.8 May 22

The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete

Share

EUVD-2026-20117 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy