Authlib — это библиотека Python, которая создает серверы OAuth и OpenID Connect. До версии 1.6.9 уязвимость внедрения заголовка JWK в реализации JWS authlib позволяла неаутентифицированному злоумышленнику подделывать произвольные токены JWT, которые проходят проверку подписи. Когда ключ = None передается любой функции десериализации JWS, библиотека извлекает и использует криптографический ключ, встроенный в контролируемое злоумышленником поле заголовка JWT jwk.
Злоумышленник может подписать токен своим собственным секретным ключом, встроить соответствующий открытый ключ в заголовок и заставить сервер принять поддельный токен как криптографически действительный — полностью минуя аутентификацию и авторизацию. Эта проблема исправлена в версии 1.6.9.
Показать оригинальное описание (EN)
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.9, a JWK Header Injection vulnerability in authlib's JWS implementation allows an unauthenticated attacker to forge arbitrary JWT tokens that pass signature verification. When key=None is passed to any JWS deserialization function, the library extracts and uses the cryptographic key embedded in the attacker-controlled JWT jwk header field. An attacker can sign a token with their own private key, embed the matching public key in the header, and have the server accept the forged token as cryptographically valid — bypassing authentication and authorization entirely. This issue has been patched in version 1.6.9.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Authlib Authlib
cpe:2.3:a:authlib:authlib:*:*:*:*:*:*:*:*
|
— |
1.6.9
|