Представление toggle_default_sorting в DjangoCRM является единственным маршрутом в common/urls.py, который не заключен в login_required или Staff_member_required, и он перенаправляет на GET-параметр next_url, предоставленный вызывающей стороной, после только проверки secure_url(next_url), который просто проверяет, что целевой хост соответствует домену текущего сайта (блокируя только междоменные перенаправления), разрешая при этом любой путь к тому же сайту с для доступа к представлению не требуется аутентификация. Это обеспечивает неаутентифицированные фишинговые перенаправления и утечку токенов на основе реферера через цепочки перенаправлений.
Показать оригинальное описание (EN)
DjangoCRM's toggle_default_sorting view is the only route in common/urls.py that is not wrapped in login_required or staff_member_required, and it redirects to a caller-supplied next_url GET parameter after only checking secure_url(next_url), which merely verifies the target host matches the current site's domain (blocking only cross-domain redirects) while allowing any same-site path with no authentication required to reach the view.
Характеристики атаки
Последствия
Строка CVSS v3.1