¿Por qué razones de seguridad se bloquean los archivos svgs en el cargador de medios?

15

Veo que los SVG están bloqueados de manera predeterminada en el cargador de medios y debe agregarlo como un tipo MIME compatible en functions.php. ¿Qué razones de seguridad hay detrás de esto?

Claudiu Creanga
fuente

Respuestas:

17

SVG puede contener JavaScript . JavaScript se puede utilizar para secuestrar cookies o realizar otras acciones cuestionables . Incluso puede estar "oculto" en espacios de nombres:

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

fuente

Es muy difícil filtrar eso durante la carga, por lo que no está permitido por defecto.

fuxia
fuente
Pensé que el objetivo del espacio de nombres era evitar la colisión de nombres de etiquetas, el significado ø:scriptno debería manejarse como scripty, por lo tanto, no debería hacer nada. ¿Qué causa que la ø:scriptetiqueta con espacio de nombres se trate como una scriptetiqueta sin espacio de nombres ? ¿O los SVG también permiten incrustar analizadores XML que no son JS?
JAB
@JAB, el espacio de nombres http://www.w3.org/1999/xhtmlhace que esta instancia de secuencia de comandos sea equivalente a una secuencia de comandos normal.
fuxia
Ah, ahora entiendo. El espacio de nombres implícito para las etiquetas HTML es http://www.w3.org/1999/xhtml, por lo que puede crear una referencia a esa URL y usarla como un prefijo de espacio de nombres para tales etiquetas y los analizadores XHTML las manejarán como etiquetas normales.
JAB