Pour quelles raisons de sécurité les fichiers SVG sont-ils bloqués dans l'uploader multimédia?

15

Je vois que les SVG sont bloqués par défaut dans l'uploader de médias et vous devez l'ajouter en tant que type MIME pris en charge dans functions.php. Quelles sont les raisons de sécurité derrière cela?

Claudiu Creanga
la source

Réponses:

17

SVG peut contenir du JavaScript . JavaScript peut être utilisé pour détourner les cookies ou effectuer d'autres actions douteuses . Il peut même être "caché" dans les espaces de noms:

<html xmlns="http://www.w3.org/1999/xhtml">
   <ø:script src="//0x.lv/" />
</html>

la source

Il est très difficile de filtrer cela pendant le téléchargement, il n'est donc pas autorisé par défaut.

fuxia
la source
Je pensais que le but de l'espacement de noms était d'éviter la collision de noms de balises, la signification ø:scriptne devrait pas être gérée comme scriptet ne devrait donc rien faire. Qu'est-ce qui fait que la ø:scriptbalise avec espace de noms est traitée comme une scriptbalise sans espace de noms ? Ou les SVG permettent-ils également d'incorporer des analyseurs XML non JS?
JAB
@JAB l'espace de noms http://www.w3.org/1999/xhtmlfait de cette instance de script un équivalent d'un script standard.
fuxia
Oh maintenant je comprends. L'espace de noms implicite pour les balises HTML est http://www.w3.org/1999/xhtml, vous pouvez donc créer une référence à cette URL et l'utiliser comme préfixe d'espace de noms pour ces balises et les analyseurs XHTML les traiteront comme des balises normales.
JAB