Description
Flarum before 1.8.16 contains a password reset token expiry bypass vulnerability that allows unauthenticated attackers to reuse expired password reset tokens by submitting them directly to the reset processing endpoint. The SavePasswordController::handle() method calls PasswordToken::findOrFail() without performing any expiry validation, allowing attackers to bypass the 24-hour token lifetime enforced only during form rendering and change any account's password to gain an authenticated session.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Flarum | Flarum Framework | < 1.8.16 | 1.8.16 |
References
- Flarum Framework 1.8.16 Release Notes release-notes
- Pull Request issue-tracking patch
- Patch Commit patch
- https://www.vulncheck.com/advisories/flarum-password-reset-token-expiry-bypass-via-post-reset third-party-advisory