Description du problème
La validation des entrées manquantes et l’encodage de sortie permettent l’injection JavaScript, entraînant un script de site à site réfléchi (XSS).
Le script de site à site réfléchi peut être utilisé pour injecter du code JavaScript arbitraire sur la page authentifiée de Microsoft System Center 2016. Il est possible d’intercepter la requête GET ci-dessous et de modifier le SpaceID pour injecter des chaînes arbitraires dans le volet de navigation de gauche de la console web.
GET/OperationsManager/InternalPages/NavigationTree.aspx?SpaceId=1002&ViewId=Favorites_Overview HTTP/1.1
Voici un exemple d’une chaîne arbitraire :
abc%3E%3C","00000000-0000-0000-0000-000000000000");alert(1);//%3E
Un code JavaScript malveillant, une fois injecté, peut modifier le comportement actuel de la page et provoquer : chevaux de Troie, redirections malveillantes de force, usurpation de contenu, keyloggers, fuites de contenu, VIEWSTATE et fuites de jetons des validateurs (défaite des contrôles anti-CSRF), etc.
L’attaque est constituée des étapes suivantes
-
Un attaquant conçoit une requête GET authentifiée spécifique de System Center avec une charge utile XSS et piège la victime pour accéder à l’URL spéciale ou incite l’utilisateur à accéder à une tentative de hameçonnage qui déclenche la requête spécifique.
-
La victime authentifiée charge/recharge la page d’accueil.
Remarque : L’attaque s’applique à toute valeur viewID et à chaque requête avec le paramètre de chaîne de requête SpaceID.
Cas d’essai
Résultat attendu : Erreur SpaceID non valide ou volet vide et absence d’exécution de JavaScript aléatoire
Résultat : JavaScript arbitraire exécuté.
Résolution
Implémentez la validation stricte des entrées. Seuls les entiers sont acceptés comme SpaceID, de sorte que le contrôle de type de données par rapport à l’entrée est suffisant pour remédier à la vulnérabilité.
Nous avons ajouté un contrôle pour garantir que le SpaceID n’est qu’une valeur prise en charge (1001 et 1002), sinon les données de l’arborescence sont vides.
Références
Consultez l’avis sur les instructions en matière de sécurité sur CVE-2020-1331.
Classification de la sécurité
Script de site à site réfléchi, usurpation de contenu