No, non penso che tu possa usarlo per XSS. Poiché l'oggetto potenzialmente non sicuro è passato a val() dovresti stare bene. Quella funzione imposta l'attributo value . Qualunque sia l'impostazione dell'attributo value, non puoi farla eseguire codice. Poiché manipola il DOM e non il codice sorgente HTML, qualcosa del genere è completamente sicuro in JavaScript:
obj.value = '" onClick="evilCode();';
obj.value = '"><script>evilCode();</script>';
Il principale (ma probabilmente non solo) pericolo XSS basato su jQuery DOM su cui dovresti stare attento è la funzione html() .
Detto questo, non fidarti del valore di #HiddenReferral . Un utente malintenzionato potrebbe facilmente manipolare il valore in modo che sia qualcos'altro rispetto a quello impostato dal codice.