Sì, il tuo SVG può essere facilmente modificato per eseguire codice arbitrario. Hai una vulnerabilità XSS riflessa proprio lì.
Quando hai
<svg width="<?php echo $_GET["name"];?>" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
Imposta name
uguale a 40"> <script> alert('XSS'); </script></svg> <svg width="100
. L'XML risultante ora sarà
<svg width="40"> <script> alert('XSS'); </script> </svg><svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
E così, abbiamo iniettato un tag <script>
e possiamo eseguire codice arbitrario sul lato client.
SVG non è una "immagine morta", è viva. Puoi avere tag di script, anche gli oggetti "g" hanno gestori "onload". C'è un sacco di attacchi che possono essere eseguiti quando controlli un SVG mostrato dall'utente.
Leggi anche "L'immagine che mi ha richiamato" per ulteriori informazioni. Ci sono molti altri vettori di attacco descritti qui.
Quindi, per rendere sicura la tua applicazione, devi assicurarti di non riuscire a superare le virgolette.