🇰🇷 한글 설명
Gogs 0.14.3 미만 버전에서 비밀번호 재설정 토큰이 설정된 재설정 유효 기간이 아닌 계정 활성화 유효 기간을 사용하여 생성되는 취약점이 발견되었습니다. 이로 인해 관리자가 설정한 짧은 재설정 유효 기간이 무시되고 토큰이 예상보다 훨씬 오랫동안 유효하게 유지될 수 있습니다.
💡 쉬운 설명
비밀번호를 바꿀 때 사용하는 일회용 번호의 유효 기간이 보안 설정보다 훨씬 길게 유지되는 문제입니다. 이로 인해 비밀번호 재설정 링크가 탈취될 경우 공격자가 더 오랜 시간 동안 계정을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
Gogs 0.14.3 미만 모든 버전
⚔️ 공격 벡터
비밀번호 재설정 토큰이 탈취될 경우, 설정된 유효 기간보다 긴 시간 동안 해당 토큰을 사용하여 계정 권한을 획득할 수 있음
🛡️ 대응 방법
Gogs를 최신 버전인 0.14.3 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.14.3 미만인지 확인하십시오.
curl -s http://<target-gogs-url>/app/gogs/version | grep -E '0\.[0-9]+\.[0-9]+'