Votre demande de fonctionnalité est-elle liée à un problème ? Veuillez le décrire.
Une description claire et concise du problème. Ex. Je suis toujours frustré lorsque [...]
en developpant un plugin, je me suis rendu compte que si on affiche des donnes externes dans un attribut 'title', le contenu est interpreté comme html dans le tooltip (via Tippy.js avec allowHTML: true)
l'exploitation necessiterait un vecteur d'injection + un survol de souris (mouseover) par un admin donc pas dramatique, mais cela oblige chaque dev de plugin a penser a sanitzer ses donnees pour les tooltips, ce qui n'est pas forcément intuitif
Décrivez la solution que vous souhaitez
passer allowHTML a false par defaut dans jeedomUtils.TOOLTIPSOPTIONS (ligne 1038 dans le fichier desktop/common/js/utils.js)
cela appliquerait le principe 'secure by default' sans effort pour les devs de plugin
Décrivez les alternatives que vous avez envisagées
- laisser comme ca mais documenter que les dev doivent sanitizer leurs tooltips
- creer un attribut data-tooltip-html="true" pour les cas ou on veut vraiment du html
Contexte supplémentaire
decouvert sur un de mes plugin, j'ai corrigé de mon coté mais me suis dit que cela pourrait bénéficier a tout le monde
pas urgent du tout, juste une suggestion d'amélioration :)
Votre demande de fonctionnalité est-elle liée à un problème ? Veuillez le décrire.
Une description claire et concise du problème. Ex. Je suis toujours frustré lorsque [...]
en developpant un plugin, je me suis rendu compte que si on affiche des donnes externes dans un attribut 'title', le contenu est interpreté comme html dans le tooltip (via Tippy.js avec allowHTML: true)
l'exploitation necessiterait un vecteur d'injection + un survol de souris (mouseover) par un admin donc pas dramatique, mais cela oblige chaque dev de plugin a penser a sanitzer ses donnees pour les tooltips, ce qui n'est pas forcément intuitif
Décrivez la solution que vous souhaitez
passer allowHTML a false par defaut dans jeedomUtils.TOOLTIPSOPTIONS (ligne 1038 dans le fichier desktop/common/js/utils.js)
cela appliquerait le principe 'secure by default' sans effort pour les devs de plugin
Décrivez les alternatives que vous avez envisagées
Contexte supplémentaire
decouvert sur un de mes plugin, j'ai corrigé de mon coté mais me suis dit que cela pourrait bénéficier a tout le monde
pas urgent du tout, juste une suggestion d'amélioration :)