CVE-2025-67730 – Cross-Site Scripting stocké (XSS)
Aperçu
ID CVE : CVE-2025-67730
Type de vulnérabilité : Cross-Site Scripting stocké (XSS)
Sévérité : Moyenne–Élevée (selon le contexte)
Cette vulnérabilité permettait à des utilisateurs authentifiés d’injecter du HTML et du JavaScript malveillants dans les champs de description des formulaires Job, Course et Batch. La charge utile injectée s’exécutait automatiquement dans le navigateur de tout utilisateur qui consultait ensuite le Job, le Course ou le Batch concerné.
Composants affectés
- Champ de description de Job
- Champ de description de Course
- Champ de description de Batch
Impact
- Exécution de JavaScript arbitraire dans les navigateurs des victimes
- Détournement de session
- Vol d’identifiants
- Prise de contrôle de compte (selon le niveau de privilèges)
- Manipulation du DOM et hameçonnage
Étant donné que la charge utile est stockée, l’attaque persiste et affecte tout utilisateur qui consulte le contenu compromis.
Scénario d’attaque
- L’attaquant se connecte avec un compte utilisateur valide.
- L’attaquant crée ou modifie un Job, un Course ou un Batch.
- Du JavaScript malveillant est inséré dans le champ de description.
- La charge utile est enregistrée dans la base de données.
- Tout utilisateur ouvrant la page concernée déclenche la charge utile.
Preuve de concept (PoC)
">
Étapes de reproduction :
- Connectez-vous en tant qu’utilisateur authentifié.
- Accédez à la page de création ou de modification de Job / Course / Batch.
- Collez la charge utile dans le champ de description.
- Enregistrez le formulaire.
- Ouvrez le Job / Course / Batch créé.
- Le JavaScript s’exécute dans le navigateur.
Cause racine
- Absence ou insuffisance d’assainissement HTML côté serveur
- Rendu non sécurisé des entrées fournies par l’utilisateur
- Absence d’encodage de sortie dans les modèles
Correctif / Atténuation
Correctif officiel
- Corrigé dans la version :
2.42.0
Améliorations de sécurité implémentées
- Assainissement HTML approprié des entrées
- Encodage de sortie sécurisé avant le rendu
- Restriction des balises et attributs exécutables
Bonnes pratiques recommandées
- Toujours assainir les entrées utilisateur côté serveur
- Appliquer un encodage de sortie selon le contexte (HTML, JS, URL)
- Utiliser un assainisseur HTML de confiance (par exemple, DOMPurify)
- Mettre en place une politique de sécurité du contenu (CSP)
Chronologie
- Signalé par : Dharan Raghunathan
- Statut : Corrigé
- Correctif publié dans la version : 2.42.0
Remerciement
Ce problème a été divulgué de manière responsable par Dharan Raghunathan.
Références
Avertissement
Ce document est fourni uniquement à des fins éducatives et de sécurité défensive.