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.
Masteriyo LMS WordPress plugin versions up to 2.1.7 contain an authorization bypass vulnerability in webhook handling that allows unauthenticated attackers to mark orders as completed without payment. Attackers can exploit insufficient signature verification to gain unauthorized access to paid course content by sending crafted webhook events.
يحتوي مكون Masteriyo LMS على ثغرة في دالة handle_webhook() حيث يتم معالجة طلبات webhook غير المصرح بها بدون التحقق الكافي من التوقيع. بما أن webhook_secret يأتي بقيمة افتراضية فارغة، يمكن للمهاجمين إرسال أحداث Stripe مزيفة لتعديل حالة الطلبات وتجاوز آليات الدفع.
ثغرة تجاوز التفويض في مكون Masteriyo LMS للـ WordPress تسمح للمهاجمين غير المصرح لهم بتجاوز التحقق من التوقيع وإكمال الطلبات بدون دفع. يمكن للمهاجمين استغلال هذه الثغرة للوصول غير المصرح به إلى محتوى الدورات المدفوعة.
Update Masteriyo LMS plugin to version 2.1.8 or later immediately. Ensure webhook_secret is configured with a strong random value in plugin settings. Implement additional server-side order verification that validates payment status independently of webhook events. Monitor webhook logs for suspicious activity and consider implementing IP whitelisting for webhook sources.
قم بتحديث مكون Masteriyo LMS إلى الإصدار 2.1.8 أو أحدث فوراً. تأكد من تكوين webhook_secret بقيمة عشوائية قوية في إعدادات المكون. قم بتنفيذ التحقق الإضافي من جانب الخادم الذي يتحقق من حالة الدفع بشكل مستقل عن أحداث webhook. راقب سجلات webhook للنشاط المريب وفكر في تنفيذ القائمة البيضاء للعناوين.