OSV 1.4.0 · github-reviewed · 修改于 2026-07-21 05:20
发布时间
2026-06-17 22:07
GitHub 审查时间
2026-06-17 22:07
NVD 发布时间
2026-06-24 05:17
源文件
advisories/github-reviewed/2026/06/GHSA-r989-7g3j-wjhw/GHSA-r989-7g3j-wjhw.json
A stolen refresh token survived a password-forgot flow and could be used to mint fresh JWTs even after the user reset their password.
passwordChange and passwordReset deleted the user's refresh tokens, but
passwordForgot only rotated token_version and revoked OAuth tokens — it did not
call UserRefreshToken.deleteAllUserToken(user.id). An attacker holding a captured
refresh cookie could still exchange it for a new access token after the victim
triggered the recovery flow.
Persistent unauthorized access after password recovery. Once a refresh token leaks, the documented "Forgot password" recovery flow did not in fact revoke the attacker's session.
This issue was reported by @bugbunny-research.