
Divulgation publique de la vulnérabilité de traversée de chemin d'Ivanti Avalanche
Une nouvelle vulnérabilité a été découverte sur Ivanti Avalanche. Testée sur Avalanche Server v6.3.4.153 et identifiée comme CVE-2023-41474.
Il s'agit d'une vulnérabilité limitée de traversée de chemin non authentifiée, ce qui signifie que des attaquants non autorisés peuvent accéder à n'importe quel fichier sous
C:\\PROGRAM DATA\\Wavelink\\AVALANCHE\\Web\ webapps\AvalancheWeb dans une configuration par défaut. Cependant, seules certaines extensions de fichiers
sont concernées pour être affichées comme .xml ou .html (il y en a quelques autres et elles dépendent également des règles .htaccess).
Pour exploiter ce problème, un attaquant peut utiliser l'URL suivante :
<domain>/AvalancheWeb//faces/javax.faces.resource/<file>?loc=<directory>
Par exemple, l'attaquant peut accéder au fichier web.xml dans le répertoire parent WEB-INF. La requête peut être modifiée pour accéder à n'importe quel fichier dans n'importe quel sous-répertoire.
Pour reproduire l'attaque, n'importe quel programme comme wget ou curl peut être utilisé avec des arguments de base.
La capture d'écran BurpSuite suivante peut être utilisée comme exemple d'exploitation réussie.

Dans un scénario réel, un attaquant non authentifié peut accéder aux paramètres de configuration et à d'autres informations internes avec un faible impact sur la confidentialité.
Cependant, dans certains scénarios, il existe des fichiers dans ce répertoire qui peuvent être utilisés pour le détournement de session et entraîner une compromission complète du serveur.
Si l'attaquant possède des privilèges administratifs (ou si un administrateur a déjà effectué cette étape auparavant), il peut effectuer un Heap dump
du processus Avalanche (cette fonctionnalité existe à l'origine à des fins de débogage). La fonctionnalité se trouve dans
Tools > Support and Licensing > Web Application Server > "Heap Dump" et/ou "Thread Dump"

Une réponse réussie du serveur inclut le chemin où le dump du processus est stocké.

Étant donné que le fichier est stocké dans C:\Program Files\Wavelink\Avalanche\Web\webapps\ AvalancheWeb\dump.hprof, il est donc plus accessible via l'attaque
de traversée de chemin. Il est maintenant temps pour l'attaquant de télécharger le fichier de dump et d'en effectuer une analyse.
wget --no-check-certificate '<domain>/AvalancheWeb//faces/javax.faces .resource/dump.hprof?loc=../'
En effectuant quelques recherches de chaînes de caractères de base, il est possible de trouver les corps des requêtes de connexion encore en mémoire.

Dans les corps, les noms d'utilisateur et les mots de passe sont exposés aux attaquants. Ils peuvent utiliser ces informations pour élever leurs privilèges ou se déplacer latéralement dans l'environnement.