OAuth авторизация через Вконтакте пренебрегла CSRF защитой

Сервис авторизации VKontakte.ru OAuth перестал обрабатывать токен безопасности — параметр state. Эта проблема была замечена мной на этой неделе. У меня на сайте Orgeo.ru повалились ошибки проверки CSRF ключа безопасности, который должен передаваться и возвращаться в параметре state. Если ключ тот же, значит сессия корректная. Проверка достаточно простая и предотвращает CSRF-атаки (Сross Site Request Forgery). Facebook рекомендует использовать параметр state и уж тем более его не отключал.

В официальной документации VK.com метода авторизации посредством OAuth теперь параметра state вообще не указано. Хотя раньше он точно был. Сервис авторизации ВКонтакте просто возвращал его назад в нетронутом виде, как и требует того стандарт OAuth 2.0.

Причины упразднения данной фичи администрацией ВКонтакте не ясны. Безопасность лишней не бывает. Так что авторизация через Вконтакте стала чуточку опаснее для пользователей этой социальной сети. Если конечно админы сайта с такой авторизацией не исхитрятся и не зашьют хэш CSRF-защиты, например, в параметр redirect_uri. В общем, заботящимся о безопасности пользователей администраторов, теперь придется немного исхитриться, чтобы реализовать стандартную защиту, которую Контакт почему-то убрал.

И зачем же было рушить уже работавшую стандартную схему???

 

2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *