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.
Published: 2026-08-05
Score: 9.2 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Flarum versions earlier than 1.8.16 contain a flaw that allows an attacker to reuse an expired password reset token by submitting it directly to the reset processing endpoint. The token validity, normally enforced only during form rendering, is not checked when processing the reset, enabling the attacker to change any user’s password. The result is that an unauthenticated user can obtain an authenticated session for any account, which is a critical compromise of confidentiality and integrity. This weakness falls under CWE‑324, a time‑based functionality failure.

Affected Systems

All installations of the Flarum Framework running a version older than 1.8.16 are affected. The vulnerability impacts the password reset feature across the entire framework and is not confined to a specific module.

Risk and Exploitability

The CVSS score of 9.2 marks the issue as critical. The EPSS score is not available, so the likelihood of exploitation cannot be quantified, but the flaw can be easily leveraged by any attacker who can construct a POST request to /reset with a valid expired token. The vulnerability is not listed in CISA’s KEV catalog, suggesting no public exploit has been confirmed yet, yet the absence of an expiry check makes exploitation straightforward once an expired token is known or guessed.

Generated by OpenCVE AI on August 5, 2026 at 16:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Flarum installation to version 1.8.16 or later, which restores proper expiry validation for password reset tokens.
  • Implement rate limiting or firewall rules on the /reset endpoint to deter automated attempts to reuse expired tokens.
  • Monitor account activity logs for unexpected password changes or reset requests and investigate any anomalies promptly.

Generated by OpenCVE AI on August 5, 2026 at 16:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
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.
Title Flarum < 1.8.16 Password Reset Token Expiry Bypass via POST /reset
Weaknesses CWE-324
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.2, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-05T14:38:35.604Z

Reserved: 2026-04-07T20:57:06.210Z

Link: CVE-2026-39923

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T16:30:13Z

Weaknesses
  • CWE-324

    Use of a Key Past its Expiration Date