
ChatPlayground.ai est une application web populaire pour comparer des modèles d'IA. Une vulnérabilité de Cross-Site Scripting (XSS) existe dans le composant de chat. Cela peut entraîner le vol du token JWT et le piratage à distance du compte. De plus, le point de terminaison /api/chat-history présente un contrôle d'accès faible (IDOR). Un attaquant peut exploiter cet IDOR pour accéder à l'historique de chat de la victime avec le nom d'utilisateur présent dans le token JWT, entraînant une fuite de données privées même après l'expiration du token JWT.
ChatPlayground.ai est une application web populaire pour comparer des modèles d'IA. Une vulnérabilité de Cross-Site Scripting (XSS) existe dans le composant de chat(https://www.chatplayground.ai/chat/) de ChatPlayground.ai, une plateforme populaire pour comparer des modèles d'IA. Les victimes peuvent être attaquées en copiant et collant un texte malveillant dans le composant de chat.
Un attaquant peut exécuter du code JavaScript arbitraire en intégrant une charge utile SVG XSS dans le texte malveillant. Il s'agit d'une vulnérabilité de self-XSS. En exécutant du code JavaScript, l'attaquant peut obtenir le token JWT de la victime (utilisé pour identifier l'état de connexion de l'utilisateur), ce qui entraîne le piratage à distance du compte. La figure 1 montre le rendu de l'interface utilisateur après que l'utilisateur a entré la charge utile Self-XSS, qui divulgue le token JWT de l'utilisateur.

De plus, le token JWT de la victime contient le nom d'utilisateur encodé en Base64. Le point de terminaison API pour récupérer l'historique utilisateur (https://www.chatplayground.ai/api/chat-history) sur ChatPlayground.ai présente un contrôle d'accès faible. Cette API repose uniquement sur le champ du nom d'utilisateur dans la demande pour l'autorisation, ce qui entraîne une référence directe d'objet non sécurisée (IDOR) ou une vulnérabilité de contrôle d'accès brisé. Après l'attaque XSS initiale, un attaquant peut extraire le nom d'utilisateur de la victime et continuer à accéder à l'historique de chat de la victime en utilisant ce nom d'utilisateur même après l'expiration du token JWT. Cela permet la fuite persistante des données privées de la victime. La figure 2 montre la démonstration (POC) de la vulnérabilité IDOR de chatplayground.ai, qui divulgue l'historique de chat de la victime à l'attaquant.

Cette vulnérabilité peut avoir un impact sur tout utilisateur de https://www.chatplayground.ai. Il y aura une fuite persistante des données privées de l'utilisateur, c'est-à-dire les informations privées dans l'historique de chat.