Quiero usar el CSRFGuard Project para proteger una aplicación web heredada contra ataques CSRF. La última versión publicada de la dependencia de Maven es 3.1.0, que es lo que uso.
Esto es parte del código JavaScript que se incluye en cada página protegida:
var xhr = window.XMLHttpRequest ? new window.XMLHttpRequest : new window.ActiveXObject("Microsoft.XMLHTTP");
var csrfToken = {};
xhr.open("POST", "/JavaScriptServlet/", false);
xhr.setRequestHeader("FETCH-CSRF-TOKEN", "1");
xhr.send(null);
var token_pair = xhr.responseText;
token_pair = token_pair.split(":");
var token_name = token_pair[0];
var token_value = token_pair[1];
Es un archivo JS separado generado por un servlet dedicado, con encabezados sin caché.
No entiendo por qué el nombre y el valor del token no están integrados directamente en el JavaScript generado, sino que se obtienen mediante una llamada AJAX síncrona (!).
¿Existe alguna vulnerabilidad si la cambio para incluir el token directamente?