No es explotable en sí mismo, pero es una ruta de escalada potencial para que un atacante pase de la corrección de cookies al XSS completo.
Notablemente:
-
Si el sitio se está ejecutando en un nombre de host que tiene dominios vecinos, cualquier ataque XSS a esos vecinos significa que se puede escribir una cookie en el dominio primario compartido, escalando a un ataque XSS en el sitio. p.ej. desde untrusted-uploads.example.com
pueden escribir una cookie con el dominio example.com
, que será leído por trusted-www.example.com
.
-
Si el sitio se está ejecutando en https://www.example.com/
, un atacante aún puede falsificar un sitio en http://www.example.com/
. Cualquier cookie que se establezca desde allí será legible desde https
; el script en https
no detectará que la cookie no se creó con secure
. Así que cookie-XSS hace que el HTTPS sea inefectivo (excepto cuando Strict Transport Security lo anula, pero eso no es una defensa completa).
Realmente no es posible (*) que un script (ya sea del servidor o del lado del cliente) detecte que las marcas domain
, path
, secure
o httponly
en la cookie coincidan con los valores esperados, lo que significa no puede detectar de manera confiable la inyección de cookies desde fuera de su sitio.
(*: hay posibles hacks en los que intentas anular una cookie configurando una nueva con las marcas que deseas, pero en última instancia no es completamente confiable ya que la secuencia de comandos del atacante podría estar ejecutándose al mismo tiempo).