Por que razões de segurança os svgs estão bloqueados no uploader de mídia?

15

Vejo que os SVGs são bloqueados por padrão no carregador de mídia e você deve adicioná-lo como um tipo MIME suportado em functions.php. Que razões de segurança estão por trás disso?

Claudiu Creanga
fonte

Respostas:

17

SVG pode conter JavaScript . JavaScript pode ser usado para seqüestrar cookies ou executar outras ações questionáveis . Pode até ser "oculto" nos espaços para nome:

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

fonte

É muito difícil filtrar isso durante o upload, por isso simplesmente não é permitido por padrão.

fuxia
fonte
Eu pensei que o objetivo do namespacing era evitar a colisão de nomes de tags, o significado ø:scriptnão deveria ser tratado scripte, portanto, não deve fazer nada. O que faz com que a ø:scriptmarca no namespace seja tratada como uma scriptmarca no namespace ? Ou os SVGs também permitem incorporar analisadores XML não JS?
JAB
@JAB, o namespace http://www.w3.org/1999/xhtmltorna essa instância de script equivalente a um script regular.
fuxia
Ah agora eu entendo. O espaço de nomes implícito para as tags HTML é http://www.w3.org/1999/xhtml, portanto, você pode criar uma referência a esse URL e usá-lo como um prefixo de espaço para nomes para essas tags e os analisadores XHTML os tratarão como tags normais.
JAB