По умолчанию форма защиты от CSRF в Rails создает маркер подлинности для пользователя, который изменяется только при изменении сеанса пользователя. Один из наших клиентов провел аудит безопасности нашего сайта и отметил это как проблему.
Аудитор заявил, что если у нас также есть уязвимость XSS, злоумышленник может получить токен аутентификации другого пользователя и использовать его для атак CSRF до истечения сеанса пользователя.
Но мне кажется, что если бы у нас была такая уязвимость XSS, злоумышленник мог бы так же легко получить cookie сеанса другого пользователя и войти в систему, как и этот пользователь напрямую. Или даже просто звоните в наш REST Api из скрипта, когда пользователь подвергается атаке. Возможность монтировать CSRF-атаку в такой ситуации выглядит не хуже ... проблема заключается в уязвимости XSS.
Я что-то пропустил? Есть ли реальная проблема с защитой CSRF по умолчанию в Rails?