Платформа Open edX позволяет создавать и проводить онлайн-обучение в любом масштабе. Конечная точка view_survey принимает параметр GET redirect_url, который передается непосредственно в HttpResponseRedirect() без какой-либо проверки URL-адреса. Если указано несуществующее имя опроса, сервер немедленно выполняет перенаправление HTTP 302 на URL-адрес, контролируемый злоумышленником.
Кроме того, тот же непроверенный URL-адрес встроен в скрытое поле формы и возвращается в ответе JSON после отправки формы, где клиентский JavaScript выполняет location.href = url. Это позволяет осуществлять фишинговые атаки и кражу учетных данных против аутентифицированных пользователей Open edX. Эта уязвимость исправлена коммитом 76462f1e5fa9b37d2621ad7ad19514b403908970.
Показать оригинальное описание (EN)
Open edX Platform enables the authoring and delivery of online learning at any scale. he view_survey endpoint accepts a redirect_url GET parameter that is passed directly to HttpResponseRedirect() without any URL validation. When a non-existent survey name is provided, the server issues an immediate HTTP 302 redirect to the attacker-controlled URL. Additionally, the same unvalidated URL is embedded in a hidden form field and returned in a JSON response after form submission, where client-side JavaScript performs location.href = url. This enables phishing and credential theft attacks against authenticated Open edX users. This vulnerability is fixed with commit 76462f1e5fa9b37d2621ad7ad19514b403908970.
Характеристики атаки
Последствия
Строка CVSS v3.1