Description
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.
Problem types
CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization (‘Race Condition’)
Product status
References
github.com/…nyauth/security/advisories/GHSA-9q5m-jfc4-wc92
github.com/…ommit/f26c2171610d5c2dfbba2edb6ccd39490e349803
github.com/steveiliop56/tinyauth/releases/tag/v5.0.5
