Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2023-49438 — CVE-2023-49438 — Уязвимость открытого перенаправления в Flask-Security-Too | Kitploit
Инструменты/GitHubGitHub/brandon-t-elliott/cve-2023-49438
Анализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьСтатьи и ИсследованияОбучение и Образование
GitHubbrandon-t-elliott/cve-2023-49438

CVE-2023-49438

CVE-2023-49438 — Уязвимость открытого перенаправления в Flask-Security-Too

Репозиторий
522 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2023-49438

Proof of Concept

flask-security-too-open-redirect

Описание

Уязвимость открытого перенаправления в пакете python Flask-Security-Too версии <=5.3.2 позволяет злоумышленникам перенаправлять ничего не подозревающих пользователей на вредоносные сайты с помощью специально созданного URL-адреса, используя параметр ?next на маршрутах /login и /register.

Предыстория

Flask-Security-Too содержит логику для проверки того, что URL-адрес, указанный в параметре next, является либо относительным, либо имеет то же сетевое расположение, что и запрашиваемый URL. Это сделано для предотвращения открытых перенаправлений.

Ранее пакет python Flask-Security-Too был признан уязвимым к обходу существующей логики проверки, и версия 4.1.0 исправила ранее известные примеры, такие как https://example/login?next=\\\github.com.

Однако был обнаружен способ обхода, связанный с тем, как веб-браузеры нормализуют слеши в URL-адресах, что делает пакет уязвимым вплоть до версии <=5.3.2.

Примеры

https://example/login?next=/\github.com

https://example/login?next=\/github.com

Влияние

Ранее в CVE-2021-32618 отмечалось, что «если используется Werkzeug (что очень распространено в приложениях Flask) в качестве уровня WSGI, он по умолчанию ВСЕГДА гарантирует, что заголовок Location является абсолютным, что делает этот вектор атаки недействительным».

Однако в Werkzeug >=2.1.0 конфигурация autocorrect_location_header была изменена на False, что означает, что заголовки местоположения в перенаправлениях по умолчанию являются относительными. Таким образом, эта проблема может затронуть приложения, которые ранее не были уязвимы, если они используют Werkzeug >=2.1.0 в качестве уровня WSGI.

Меры по смягчению

  1. Обновите Flask-Security-Too до версии 5.3.3
root@kitploit:~
pip install -U Flask-Security-Too

ИЛИ

  1. Добавьте эти параметры конфигурации в ваше приложение (смягчает все известные на данный момент примеры):
root@kitploit:~
app.config['SECURITY_REDIRECT_VALIDATE_MODE'] = "regex"
app.config['SECURITY_REDIRECT_VALIDATE_RE'] = r"^/{4,}|\\{3,}|[\s\000-\037][/\\]{2,}(?![/\\])|[/\\](https://github.com/brandon-t-elliott/cve-2023-49438/blob/main/%5B%5E/%5C%5C%5D%7C/%5B%5E/%5C%5C%5D)*[/\\].*"

ИЛИ

  1. Если используется Werkzeug >=2.1.0, вручную установите autocorrect_location_header в True:
root@kitploit:~
@app.after_request
def fix_location_header(response):
    response.autocorrect_location_header = True

    return response

Ссылка на CVE

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-49438

https://nvd.nist.gov/vuln/detail/CVE-2023-49438

Автор

Способ обхода обнаружен Brandon T. Elliott, ноябрь 2023 г.

Скачать инструмент