Supabase Auth — это API на основе JWT для управления пользователями и выдачи токенов JWT. До версии 2.185.0 была обнаружена уязвимость, позволяющая злоумышленнику создавать сеансы для произвольных пользователей с использованием специально созданных токенов идентификатора, когда включены поставщики Apple или Azure. Злоумышленник выдает действительный токен идентификатора с асимметричной подписью от своего эмитента для каждого адреса электронной почты жертвы, который затем отправляется в конечную точку токена аутентификации Supabase с использованием потока токена идентификатора.
Если токен идентификатора соответствует OIDC, сервер аутентификации проверит его на соответствие эмитенту, контролируемому злоумышленником, и свяжет существующий идентификатор OIDC (Apple или Azure) жертвы с дополнительным идентификатором OIDC на основе содержимого токена идентификатора. Затем сервер аутентификации выдаст злоумышленнику действительный сеанс пользователя (токены доступа и обновления) на уровне AAL1. Эта уязвимость исправлена в версии 2.185.0.
Показать оригинальное описание (EN)
Supabase Auth is a JWT based API for managing users and issuing JWT tokens. Prior to 2.185.0, a vulnerability has been identified that allows an attacker to issue sessions for arbitrary users using specially crafted ID tokens when the Apple or Azure providers are enabled. The attacker issues a valid, asymmetrically signed ID token from their issuer for each victim email address, which then is sent to the Supabase Auth token endpoint using the ID token flow. If the ID token is OIDC compliant, the Auth server would validate it against the attacker-controlled issuer and link the existing OIDC identity (Apple or Azure) of the victim to an additional OIDC identity based on the ID token contents. The Auth server would then issue a valid user session (access and refresh tokens) at the AAL1 level to the attacker. This vulnerability is fixed in 2.185.0.
Характеристики атаки
Последствия
Строка CVSS v3.1