
Divulgation de vulnérabilité XSS stocké pour nirix traq v3.9.0 avec PoC, analyse des causes profondes et conseils d'atténuation pour les chercheurs en sécurité et les défenseurs.
Une vulnérabilité de Cross-Site Scripting (XSS) stocké existe dans nirix traq v3.9.0, où l'entrée fournie par l'utilisateur dans le champ de description du ticket est mal assainie avant d'être rendue dans l'interface de l'application.
Cette vulnérabilité permet à un attaquant authentifié d'injecter des charges utiles JavaScript malveillantes dans une description de ticket. La charge utile est stockée par l'application et exécutée lorsqu'un autre utilisateur, y compris des utilisateurs privilégiés comme les administrateurs, consulte la chronologie du ticket affecté ou le composant de rendu.
Le problème se produit parce que l'entrée HTML/JavaScript contrôlée par l'utilisateur est rendue sans codage ni assainissement appropriés de la sortie.
Un attaquant authentifié peut créer ou modifier un ticket et insérer une charge utile malveillante dans le champ de description. Lorsqu'un autre utilisateur consulte le ticket affecté, le script injecté s'exécute dans le contexte du navigateur de la victime.
Cela peut conduire à :
Champ de description du ticket / Composant de rendu de la chronologie
La vulnérabilité est déclenchée lorsque les descriptions de ticket contenant du HTML ou JavaScript malveillant sont rendues dans l'interface de l'application sans échappement suffisant.
Exemple :
L'application ne parvient pas à assainir ou encoder correctement l'entrée contrôlée par l'utilisateur avant de rendre les descriptions de ticket dans le navigateur.
L'entrée utilisateur est stockée puis rendue sans protection suffisante contre l'injection HTML/JavaScript.
Les mesures d'atténuation suivantes sont recommandées :
| Événement | Date |
|---|---|
| Vulnérabilité découverte | 2026 |
| Notification au vendeur | Divulgation responsable |
| CVE attribué | CVE-2026-37196 |
| Divulgation publique | 2026 |
Ce dépôt est publié à des fins de recherche en sécurité et de sensibilisation défensive uniquement. Les informations fournies sont destinées à aider les développeurs et les défenseurs à comprendre et à corriger le problème.
Découvert par : Pavan V