Authlib — это библиотека Python, которая создает серверы OAuth и OpenID Connect. До версий 1.6.10 и 1.7.1 конечную точку авторизации OAuth 2.0 Authlib можно было превратить в открытое перенаправление без аутентификации, когда запрос использует неподдерживаемый тип_ответа и предоставляет управляемый злоумышленником redirect_uri. Уязвимое поведение происходит до поиска клиента и перед любой проверкой URI перенаправления.
В результате злоумышленнику не требуется действительная регистрация клиента, аутентифицированный пользователь или какое-либо предварительное состояние. Одного запроса к конечной точке авторизации достаточно, чтобы получить ответ 302 Location на произвольный URL-адрес, контролируемый злоумышленником. Эта уязвимость исправлена в версиях 1.6.10 и 1.7.1.
Показать оригинальное описание (EN)
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.6.10 and 1.7.1, Authlib's OAuth 2.0 authorization endpoint can be turned into an unauthenticated open redirect when a request uses an unsupported response_type and supplies an attacker-controlled redirect_uri. The vulnerable behavior happens before client lookup and before any redirect URI validation. As a result, an attacker does not need a valid client registration, an authenticated user, or any prior state. A single request to the authorization endpoint is enough to obtain a 302 Location response to an arbitrary attacker-controlled URL. This vulnerability is fixed in 1.6.10 and 1.7.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Authlib Authlib
cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:*
|
— |
1.6.10
|
|
Authlib Authlib
cpe:2.3:a:authlib:authlib:1.7.0:*:*:*:*:*:*:*
|
— | — |