{"id":"CVE-2026-39923","title":"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","summary":"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 SavePasswordC…","severity":"high","cvss":8.1,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-324"],"published":"2026-08-05","updated":"2026-09-09","sourceUpdated":"2026-09-09T20:35:08.537","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-39923","references":[{"url":"https://github.com/flarum/framework/commit/2803058d0f9dc38252326070b46d4484fe5a857d","label":"disclosure@vulncheck.com"},{"url":"https://github.com/flarum/framework/pull/4545","label":"disclosure@vulncheck.com"},{"url":"https://github.com/flarum/framework/releases/tag/v1.8.16","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/flarum-password-reset-token-expiry-bypass-via-post-reset","label":"disclosure@vulncheck.com"}],"tags":["nvd"],"epss":0.0026,"epssPercentile":0.18106,"ingestedAt":"2026-09-09T21:22:45.523Z","slug":"CVE-2026-39923","body":"## Overview\n\nFlarum 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":45,"depthScoreParts":{"impact":44.6,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}