Tinyauth — это сервер аутентификации и авторизации. До версии 5.0.5 все три реализации службы OAuth (GenericOAuthService, GithubOAuthService, GoogleOAuthService) хранят верификаторы PKCE и токены доступа в виде изменяемых полей структуры в одноэлементных экземплярах, общих для всех одновременных запросов. Когда два пользователя одновременно инициируют вход в систему OAuth для одного и того же провайдера, состояние гонки между VerifyCode() и Userinfo() приводит к тому, что один пользователь получает сеанс с удостоверением другого пользователя.
Эта проблема исправлена в версии 5.0.5.
Показать оригинальное описание (EN)
Tinyauth is an authentication and authorization server. Prior to version 5.0.5, all three OAuth service implementations (GenericOAuthService, GithubOAuthService, GoogleOAuthService) store PKCE verifiers and access tokens as mutable struct fields on singleton instances shared across all concurrent requests. When two users initiate OAuth login for the same provider concurrently, a race condition between VerifyCode() and Userinfo() causes one user to receive a session with the other user's identity. This issue has been patched in version 5.0.5.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Tinyauth Tinyauth
cpe:2.3:a:tinyauth:tinyauth:*:*:*:*:*:*:*:*
|
— |
5.0.5
|