CVE-2026-71502 in CTI-Transmuteinformation

Résumé

par VulDB • 07/08/2026

CTI-Transmute contient une vulnérabilité de type cross-site scripting (XSS) stocké, causée par une neutralisation insuffisante des délimiteurs d'expressions du modèle Vue dans les données contrôlées par l'utilisateur et rendues côté serveur.

Un attaquant non authentifié peut créer une conversion publique dont le nom ou la description contient une expression Vue malveillante en utilisant les délimiteurs `[[ ... ]]` configurés pour l'application. Les noms de profil utilisateur peuvent constituer un vecteur d'injection supplémentaire. Bien qu'un échappement HTML Jinja soit appliqué, la valeur résultante est ensuite incluse dans une région du DOM compilée par Vue.

Vue interprète la valeur contrôlée par l'attaquant comme une expression de modèle plutôt que comme du texte ordinaire. En accédant au constructeur `Function` de JavaScript depuis l'intérieur de l'expression, un attaquant peut exécuter du code JavaScript arbitraire dans le contexte de sécurité d'origine CTI-Transmute. La politique de sécurité des contenus (CSP) basée sur les nonce de l'application n'empêche pas l'exploitation car le compilateur runtime Vue nécessite l'autorisation `unsafe-eval`.

La charge utile malveillante est stockée par l'application et exécutée chaque fois qu'un autre utilisateur ouvre une page affectée, telle que la page de détail d'une conversion publique. La victime peut être un utilisateur normal ou un administrateur. Une exploitation réussie pourrait permettre à l'attaquant de :

* Accéder aux données disponibles pour la victime via l'application. * Extraire des clés API, des jetons (tokens) ou d'autres informations sensibles exposées sur la page. * Effectuer des actions authentifiées en utilisant la session de la victime. * Modifier les conversions ou d'autres données de l'application. * Augmenter l'impact en ciblant un administrateur.

Une charge utile démontrée peut utiliser `[].constructor.constructor(...)` pour obtenir le constructeur JavaScript Function et exécuter du code arbitraire. Les tests de régression montrent également qu'une courte charge utile de première phase pourrait récupérer une description de conversion sans limite et évaluer une charge utile plus importante de deuxième phase.

Le correctif traite la vulnérabilité en enregistrant un hook finalize global Jinja qui insère un séparateur de mots Unicode à largeur nulle (zero-width word joiner) à l'intérieur de chaque délimiteur Vue trouvé dans les valeurs rendues côté serveur. Cela empêche Vue de reconnaître ces valeurs comme des expressions de modèle tout en préservant leur représentation visible.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

CIRCL

Réserver

06/08/2026

Divulgation

07/08/2026

Modérer

accepté

Entrée

VDB-386916

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!