
Une vulnérabilité de type Cross-Site Scripting (XSS) réfléchi existe dans la fonctionnalité Edit User de la console de gestion eScan de Microworld Technologies (version 14.0.1400.2281).
Identifiant CVE : CVE-2023-31703
Type de vulnérabilité : Cross-Site Scripting (XSS) réfléchi
Produit concerné : Microworld Technologies eScan Management Console
Version concernée : 14.0.1400.2281
Sévérité : Moyenne
Découverte par : Sahil Ojha
Date de divulgation : 16 mai 2023
Une vulnérabilité de Cross-Site Scripting (XSS) réfléchi existe dans la fonctionnalité Modifier l'utilisateur de la Microworld Technologies eScan Management Console (version 14.0.1400.2281). L'application ne parvient pas à assainir ou encoder correctement les entrées fournies par l'utilisateur via le paramètre from dans l'URL avant de les refléter dans la réponse HTTP.
Un attaquant distant non authentifié ou authentifié qui parvient à tromper un administrateur connecté en lui faisant cliquer sur un lien spécialement conçu peut injecter et exécuter du JavaScript arbitraire dans le contexte de la session du navigateur de la victime. Cela peut conduire au vol de cookies de session, à la prise de contrôle de compte, à la récupération d'identifiants ou à d'autres attaques côté client.
| Champ | Détails |
|---|---|
| Fournisseur | Microworld Technologies |
| Produit | eScan Management Console |
| Version | 14.0.1400.2281 |
| Composant | Point de terminaison editUserName — paramètre d'URL from |
| Site du fournisseur | https://www.escanav.com |
| Lien logiciel | https://cl.escanav.com/ewconsole.dll |
| Plateforme | Windows |
Le paramètre from accepté par le point de terminaison /ewconsole/ewconsole.dll/editUserName est reflété directement dans le corps de la réponse HTML sans aucun encodage HTML ni assainissement de sortie. Cela permet à un attaquant de sortir du contexte d'attribut HTML et d'injecter une balise <script> ou une autre charge utile de gestionnaire d'événements qui est exécutée immédiatement par le navigateur.
GET /ewconsole/ewconsole.dll/editUserName?usrid=<ID>&from=<PAYLOAD>&P=
Connectez-vous à la eScan Management Console avec des identifiants valides.
Naviguez vers l'URL de référence suivante pour confirmer que le paramètre from est reflété :
https://cl.escanav.com/ewconsole/ewconsole.dll/editUserName?usrid=4&from=banner&P=
Remplacez la valeur de from par la charge utile XSS ci-dessous et ouvrez l'URL spécialement conçue dans le navigateur authentifié de la victime :
https://cl.escanav.com/ewconsole/ewconsole.dll/editUserName?usrid=4&from="><script>alert(document.cookie)</script>banner&P=
Le navigateur exécutera le script injecté et affichera une boîte d'alerte contenant le cookie de session, confirmant ainsi la vulnérabilité.

| Catégorie d'impact | Description |
|---|---|
| Détournement de session | Un attaquant peut voler le cookie de session de l'utilisateur authentifié et prendre le contrôle de son compte. |
| Prise de contrôle de compte | Avec les cookies de session de niveau administrateur, un contrôle administratif complet de la console peut être obtenu. |
| Hameçonnage | Les scripts injectés peuvent rediriger l'utilisateur vers une page d'hameçonnage hébergée par l'attaquant. |
| Défiguration | L'attaquant peut manipuler le contenu visible de la page pour l'utilisateur ciblé. |
| Distribution de malwares | Des scripts malveillants peuvent être utilisés pour télécharger ou exécuter silencieusement d'autres charges utiles dans le navigateur. |
Microworld Technologies devrait appliquer les mesures d'atténuation suivantes :
<, >, ", ' et &. Cela suffit à empêcher le balisage injecté d'être interprété par le navigateur.from) plutôt que de tenter de bloquer des caractères spécifiques, ce qui est facilement contournable.Content-Security-Policy: default-src 'self') pour limiter l'impact des vecteurs XSS restants.HttpOnly pour empêcher JavaScript d'y accéder même si une charge utile XSS est exécutée.Ces informations sont fournies à des fins éducatives et de divulgation responsable uniquement. L'auteur n'est pas responsable de toute utilisation inappropriée de ces informations. Obtenez toujours une autorisation appropriée avant de tester tout système dont vous n'êtes pas propriétaire.