Uno interessante. Se il token CSRF identifica anche l'utente, non riesco a vederlo come una vulnerabilità di per sé. Alcuni sistemi possono funzionare senza cookie (sebbene tu dica che questo è progettato per funzionare con con i cookie ) e possono passare attorno a un token di autenticazione in un campo modulo nascosto che viene utilizzato sia come identificatore di sessione sia come anti- Token CSRF.
Nel tuo caso, poiché il sistema utilizza i cookie, sembra essere un difetto di autorizzazione.
Dovresti provare qualche altro test per scoprire se si tratta di una vulnerabilità:
- Prova a inviare la richiesta senza il cookie dopo che la "sessione attiva" avrebbe avuto il timeout.
- Prova a creare due sessioni e scopri se il token CSRF di una sessione può essere utilizzato nell'altra.
- La creazione di due sessioni con diversi account utente e scoprire se il token di un utente può essere utilizzato nell'altro. Se riesce a scoprire quale utente è stato associato alla richiesta.
- Prova un token CSRF non valido.
- Prova un token CSRF mancante.
Nota per creare due sessioni avresti bisogno di un browser separato o potresti crearne una in privato / in incognito.
Per "sessione attiva" mi riferisco a una sessione corrente a breve termine sul sito web (ad esempio, una scadenza scorrevole di 15-30 minuti circa). Per i siti che implementano la funzionalità "ricordami", questo dovrebbe essere implementato da un meccanismo diverso che crea una nuova "sessione attiva" ogni volta che l'utente torna e un nuovo token CSRF che lo accompagna (piuttosto che creare solo una lunga sessione attiva).
Se uno dei problemi precedenti ha ancora successo, hai scoperto un difetto di gestione della sessione.