SVG images are accepted but not sanitized · Issue #38 · berthubert/trifecta · GitHub

Ménon... Mais dites-moi que c'est pas vrai...

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500">
  <circle cx="250" cy="250" r="210" fill="#fff" stroke="#000" stroke-width="8"/>
  <script type="text/javascript">alert(1);</script>
</svg>

Donc, si on colle du JS dans un SVG, le JS serait exécuté à l'affichage de l'image ?!

Je teste ci-dessous avec l'exemple donné sur la page...

omg.svg

Sur mon site, l'image s'affiche normalement sans exécuter le code... par contre, si on ouvre l'image dans un autre onglet...

Comment c'est possible de laisser un truc pareil dans la nature ?!

Via https://sebsauvage.net/links/

❝ 4 commentaires ❞

1  Eric le

Et en fait, en deux minutes de recherche : https://github.com/mattkrick/sanitize-svg


Cela dit c'est quand même violent que ça passe si on n'y fais pas gaffe!

 
2  Bronco le

Lol J'ai pas dit que c'est pas simple de circonvenir le problème et de sanitizer les SVG, je dis juste que c'est quand même dingue de devoir penser à le faire


Ceci dit, merci pour le lien

 
3  Jerry Wham le

En même temps, le svg, c'est du xml. Et la balise script est valide dans le xml.


https://edutechwiki.unige.ch/fr/SVG_avec_JavaScript


Dans une balise img, "si on incorpore un SVG en tant que "simple" image, c'est comme si on perdait la différence entre une image vectorielle et une image matricielle. En effet, le SVG serait traité comme un bloc unique, sans la possibilité de discriminer parmi les différences éléments/balises qui le composent."


Après, par précaution, il vaut mieux dégager le js si on importe un svg qu'on ne connaît pas. Mais c'est toujours l'éternel débat entre l'outil et ce que l'on en fait...

 
4  Bronco le

Toutefois, si on colle le SVG dans une balise image, le JS n'est pas exécuté... (ouf).


On en a parlé là (d'ailleurs tout le fil est intéressant...) https://framapiaf.org/@bronco/111788203247627803


Juste, il faut bien penser ENCORE UNE FOIS à traiter les données utilisateur et sanitizer les SVG venant d'ailleurs...


Je serais curieux de savoir combien de gens utilisent RÉELLEMENT le JS dans le SVG et si on ne pourrait pas faire plus simple dans ces cas-là.


Après, je comprends que ça puisse être sympa de tout coller dans un seul fichier

 

Fil RSS des commentaires de cet article

✍ Écrire un commentaire

les commentaires relevant du SPAM seront filtrés et dégagés direct...

Quelle est le premier caractère du mot v0f8jla ?