Gogs to otwartoźródłowa samodzielnie hostowana usługa Git. Przed wersją 0.14.3 tokeny resetowania hasła były generowane przy użyciu conf.Auth.ActivateCodeLives (czasu życia aktywacji konta) zamiast conf.Auth.ResetPasswordCodeLives. Czas życia tokena jest wbudowany w sam token podczas jego generowania i ponownie wyodrębniany podczas weryfikacji, co czyni RESET_PASSWORD_CODE_LIVES nieistotnym dla faktycznego egzekwowania. Gdy administrator skonfiguruje krótsze okno resetowania (np. 10 minut) ze względu na zgodność lub bezpieczeństwo, tokeny resetowania pozostają podatne na exploitację przez pełny czas aktywacji, podczas gdy wiadomość e-mail z resetowaniem fałszywie ogłasza krótszy czas wygaśnięcia. Podatność została naprawiona w wersji 0.14.3.
▸ Pokaż oryginał (EN)
Gogs is an open source self-hosted Git service. Prior to 0.14.3, password-reset tokens are generated using conf.Auth.ActivateCodeLives (the account-activation lifetime), not conf.Auth.ResetPasswordCodeLives. The token lifetime is baked into the token itself at generation time and is re-extracted from the token at verification time, making RESET_PASSWORD_CODE_LIVES irrelevant to actual enforcement. When an administrator configures a shorter reset window (e.g., 10 minutes) for compliance or security reasons, reset tokens remain exploitable for the full activation lifetime instead, while the reset email falsely advertises the shorter expiry. This vulnerability is fixed in 0.14.3.
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N