Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2023-49438 — CVE-2023-49438 - Vulnérabilité de redirection ouverte dans Flask-Security-Too | Kitploit
Outils/GitHubGitHub/brandon-t-elliott/cve-2023-49438
Analyse des VulnérabilitésExploitation d'Applications WebSécurité WebArticles et RechercheApprentissage et Éducation
GitHubbrandon-t-elliott/cve-2023-49438

CVE-2023-49438

CVE-2023-49438 - Vulnérabilité de redirection ouverte dans Flask-Security-Too

Voir le dépôt
5il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2023-49438

Preuve de concept

flask-security-too-open-redirect

Description

Une vulnérabilité de redirection ouverte dans le package Python Flask-Security-Too <=version 5.3.2 permet à des attaquants de rediriger des utilisateurs méfiants vers des sites malveillants via une URL spécialement conçue en abusant du paramètre ?next sur les routes /login et /register.

Contexte

Flask-Security-Too contient une logique permettant de valider que l'URL spécifiée dans le paramètre next est soit relative, soit possède la même localisation réseau que l'URL de la requête. Cette mesure est en place pour tenter de prévenir les redirections ouvertes.

Le package Python Flask-Security-Too a précédemment été jugé vulnérable à un contournement de la logique de validation en place, et la version 4.1.0 a corrigé les exemples précédemment connus tels que https://example/login?next=\\\github.com

Cependant, une solution de contournement a été découverte en raison de la manière dont les navigateurs web normalisent les barres obliques dans les URL, ce qui rend le package vulnérable jusqu'à la version <=5.3.2.

Exemples

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

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

Impact

Il a été précédemment noté dans CVE-2021-32618 que « si Werkzeug est utilisé (ce qui est très courant avec les applications Flask) comme couche WSGI, il garantit par défaut TOUJOURS que l'en-tête Location est absolu - rendant ainsi ce vecteur d'attaque sans effet. »

Cependant, avec Werkzeug >=2.1.0, la configuration autocorrect_location_header a été modifiée à False - ce qui signifie que les en-têtes de localisation dans les redirections sont relatifs par défaut. Ainsi, ce problème peut affecter des applications qui n'étaient pas précédemment impactées, si elles utilisent Werkzeug >=2.1.0 comme couche WSGI.

Atténuations

  1. Mettez à jour vers Flask-Security-Too 5.3.3
root@kitploit:~
pip install -U Flask-Security-Too

OU

  1. Ajoutez ces options de configuration à votre application (atténue tous les exemples actuellement connus) :
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/HEAD/%5B%5E/%5C%5C%5D%7C/%5B%5E/%5C%5C%5D)*[/\\].*"

OU

  1. Si Werkzeug >=2.1.0 est utilisé, assurez-vous manuellement que autocorrect_location_header est défini sur True :
root@kitploit:~
@app.after_request
def fix_location_header(response):
    response.autocorrect_location_header = True

    return response

Référence CVE

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

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

Crédit

Solution de contournement découverte par Brandon T. Elliott, novembre 2023

Télécharger l’outil