Плагин Masteriyo LMS — онлайн-конструктор курсов для электронного обучения, LMS и образования для WordPress уязвим для обхода авторизации с помощью ключа, управляемого пользователем, в версиях до 2.1.7 включительно. Это связано с недостаточной проверкой подписи вебхука в функции handle_webhook(). Конечная точка веб-перехватчика обрабатывает запросы, не прошедшие проверку подлинности, и выполняет проверку подписи только в том случае, если настроен параметр webhook_secret И присутствует заголовок HTTP_STRIPE_SIGNATURE.
Поскольку по умолчанию webhook_secret имеет пустую строку, вебхук обрабатывает контролируемые злоумышленником полезные данные JSON без какой-либо проверки. Это позволяет неаутентифицированным злоумышленникам отправлять поддельные события веб-перехватчика Stripe с произвольными значениями order_id в метаданных, отмечать любой заказ как выполненный без оплаты и получать несанкционированный доступ к содержимому платного курса.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1