Posible, pero poco probable. ¿Por qué?
Permítame darle una información de fondo. He visto a gente obsesionarse con las supuestas "vulnerabilidades XSS" en jQuery y en muchas otras bibliotecas, aquí hay un ejemplo:
$('#inputElement').keyup(function () {
$('#someDiv').html($(this).val())
});
Algunos dirían que este código es vulnerable a XSS, lo cual no es cierto. Sí, puede escribir JavaScript en el campo de entrada y hacer que se ejecute (por ejemplo, <script>alert(document.cookie)</script
) pero, ¿y qué? Ya puedes hacerlo con cualquier aplicación que te ofrezca la consola de JavaScript (Firebug), diablos, incluso puedes hacerlo con Greasemonkey.
Solo se puede considerar una vulnerabilidad XSS si se utilizan datos externos a su aplicación dentro de su aplicación al engañar al usuario para que ingrese a una URL maliciosa o al enviar un formulario especialmente diseñado. Aquí hay un ejemplo:
$(document).ready(function () {
$('#someDiv').html(window.location.hash)
});
Ahora este es vulnerable a XSS, un atacante podría crear la siguiente URL
http://example.com/search/searchQuery+<script>alert(document.cookie)</script>
O incluso use algunos servicios de acortamiento de URL para hacer que el ataque sea un poco más confuso. El punto es que, en tales casos, debes preocuparte.
Si el lado del cliente de su aplicación web utiliza datos externos y es posible que el usuario legítimo no tenga control sobre ellos (como en el caso anterior), entonces debe preocuparse.
Otro ejemplo que utiliza las bibliotecas de recuperación de API del historial, como jQuery BBQ (analiza window.location.hash
) que podría ser vulnerable y de alguna manera permite que se ejecute el código en la URL.
Tenga en cuenta que esta respuesta está estrictamente en el alcance de su pregunta; Ataques XSS relacionados con las bibliotecas de JavaScript.