Una interesante. Si el token CSRF también identifica al usuario, entonces no puedo verlo como una vulnerabilidad en sí misma. Algunos sistemas pueden funcionar sin cookies (aunque usted menciona que este está diseñado para funcionar con con cookies) y puede pasar un token de autenticación en un campo de formulario oculto que se usa como identificador de sesión y como anti Token CSRF.
En su caso, como el sistema utiliza cookies, parece ser un defecto de autorización.
Debería probar otras pruebas para averiguar si se trata de una vulnerabilidad:
- Intente emitir la solicitud sin la cookie después de que la "sesión activa" se haya agotado normalmente.
- Intente crear dos sesiones y averigüe si el token CSRF de una sesión se puede usar en la otra.
- Crea dos sesiones con diferentes cuentas de usuario y descubre si el token de un usuario se puede usar en el otro. Si tiene éxito, averigüe qué usuario estaba asociado a la solicitud.
- Intente con un token CSRF no válido.
- Intente con un token CSRF faltante.
Nota: para crear dos sesiones, necesitarías un navegador diferente o podrías crear una en modo privado / de incógnito.
Por "sesión activa" Me refiero a una sesión actual a corto plazo en el sitio web (por ejemplo, una con una caducidad de 15 a 30 minutos aproximadamente). Para los sitios que implementan la funcionalidad "recordarme", esto debe implementarse mediante un mecanismo diferente que crea una nueva "sesión activa" cada vez que el usuario regresa, y un nuevo token CSRF para acompañarlo (en lugar de simplemente crear una sesión activa larga).
Si alguno de los anteriores sigue teniendo éxito, entonces ha descubierto una falla en la administración de la sesión.