CVE-2022-32444
23 Juin 2022
Dernière mise à jour
23 Juin 2022
Dernière mise à jour
Je vous propose mon analyse de la CVE-2022-32444, qui est une vulnérabilité de type Open Redirect dans le système de gestion de contenu (CMS) nommé u5CMS.
Vendeur : Yuba (https://yuba.ch/)
Produit : u5CMS (https://yuba.ch/index.php?c=u5cms&l=en)
Version(s) impactée(s) : 8.3.5
Type de vulnérabilité : Open Redirect (CWE-601 - URL Redirection to Untrusted Site ('Open Redirect'))
La version 8.3.5 d'u5CMS est vulnérable à une faille de type Open Redirect via le paramètre d'URL u
de la page /loginsave.php
.
La page loginsave.php
est appelée suite à la soumission du formulaire d'authentification disponible à l'URL /u5admin/
:
La présence du paramètre u
est visible directement dans la cible du formulaire et a pour valeur u5admin
:
La requête est la suivante :
La réponse est une 302 redirigeant l'utilisateur vers la page d'administration du CMS :
Une fois la redirection effectuée, l'utilisateur se retrouve sur la page d'administration du CMS /u5admin/
:
En général, une faille de type OpenRedirect sur une mire de connexion peut s'exploiter de la façon suivante :
L'URL de la mire est semblable à http://exemple.com/auth?redirect=openredirectvulnerability
L'attaquant soumet cette URL, en adaptant la valeur désirée au paramètre redirect
, à sa victime
La victime renseigne ses identifiants et se retrouve redirigée vers l'URL renseignée par l'attaquant
Dans le cadre de u5cms, l'exploitation de la vulnérabilité est possible directement en soumettant l'URL http://u5cms-host/u5cms-8.3.5/loginsave.php?u=openredirectvulnerability
, qu'importe que la victime soit authentifiée ou non :
Le fichier loginsave.php
va récupérer la valeur du paramètre u
et y effectuer un léger traitement :
récupérer la valeur dans $u[0]
et des possibles fragments d'URL dans $u[1]
rediriger l'utilisateur vers index.php
si la valeur $u[0]
est une chaine vide
concaténer un timestamp dans l'URL grâce à la méthode time()
rediriger l'utilisateur vers la valeur contenu dans $u[0]