
Divulgation publique de la vulnérabilité de redirection ouverte dans TitanFTP 19.X
Une nouvelle vulnérabilité a été découverte, affectant le serveur web Titan FTP, répertoriée sous le nom de CVE-2022-44215. Titan FTP est un logiciel commercial créé par South River Technologies qui implémente le protocole FTP pour le partage de fichiers. Dans sa version HTTP(S) 19.X et antérieures, il a été prouvé qu'il présente une vulnérabilité de redirection ouverte.
Une vulnérabilité de redirection ouverte consiste en ce que le serveur ne nettoie pas correctement les entrées de l'utilisateur. Par conséquent, une redirection est effectuée en utilisant l'entrée fournie par l'utilisateur sans assainissement (liste blanche/noire). Dans ce cas, le serveur Titan FTP effectue une redirection lorsqu'une barre oblique inverse \ est rencontrée dans l'URL. Peu importe que la barre oblique inverse soit en texte brut ou encodée en URL (%5C).
https://<server>\<malicious_url> amènera le serveur à fournir une redirection vers \<malicious_url>.
Pour exploiter cela, le navigateur doit comprendre le protocole de l'en-tête de réponse HTTP Location. Celui-ci doit contenir HTTP ou HTTPS. Pour contourner cela, il est possible de fournir, au lieu d'une barre oblique inverse, deux d'entre elles « \ ». Cela sera interprété comme un séparateur de protocole et la plupart des navigateurs utiliseront le protocole HTTP par défaut. Au final, la charge utile fonctionnelle pour réaliser une redirection ressemblera à ceci :
http[s]://<server>\\<malicious_url>
Pour effectuer ce test, CURL peut également être utilisé. Cependant, gardez à l'esprit que CURL le détectera comme mal formé puisque « \ » est interdit par la norme RFC 2396. Pour contourner cela avec curl, nous pouvons utiliser la commande suivante :
Curl -i http[s]://<server> --request-target \\\\malicious.com
Malgré le problème, l'exploitation est limitée car les navigateurs réécrivent normalement les barres obliques inverses « \ » en « / », ce qui fait que les attaques utilisant directement le texte brut ne fonctionneront pas dans la plupart des cas. Certaines solutions de contournement peuvent être mises en œuvre en utilisant des charges utiles HTML qui contournent les règles de réécriture d'URL des navigateurs.
Selon Shodan, en décembre 2022, ce serveur est exposé publiquement sur 1 278 serveurs dans le monde :

Cette vulnérabilité pourrait être utilisée par des attaquants pour mener des attaques d'ingénierie sociale, redirigeant les victimes vers de fausses pages de connexion FTP ou d'autres scénarios de hameçonnage.