Уязвимости в библиотеках JWT позволяют обойти ограничения безопасности

Уязвимости в библиотеках JWT позволяют обойти ограничения безопасности

Проэксплуатировав уязвимость, удаленный пользователь может войти в систему с правами администратора.

В нескольких библиотеках JSON Web Token (JWT) обнаружены уязвимости, позволяющие злоумышленнику обойти процесс верификации. Об этом сообщает канадский исследователь безопасности Тим МакЛин (Tim McLean).

JWT представляет собой стандарт по созданию и обмену токенами между двумя сторонами. К примеру, сервер может создать администраторский токен, переданный по JSON и подписанный ключом сервера. Клиенты могут им воспользоваться для проверки того, что пользователь аутентифицирован как администратор.

По словам МакЛина, уязвимость существует из-за ошибки в алгоритме асимметричной криптографии. Из-за этого возникает лавинный эффект между системами, подписанными с помощью хеш-функции HMAC и с помощью RSA.

«Если сервер ожидает получить токен, подписанный с помощью RSA, но получает токен, подписанный по HMAC, он посчитает HMAC-ключ открытым. Проблема в том, что HMAC-ключи должны быть закрытыми, но из-за этой ошибки они становятся открытыми», - объяснил МакЛин в своем блоге.

В данном случае злоумышленник с доступом к открытому ключу может воспользоваться им как закрытым токеном, а вследствие вышеуказанной ошибки сервер примет его. МакЛин советует всем, кто пользуется любой имплементацией JWT, не принимать токены с разными подписями с помощью механизма белых или черных списков.

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться