Description
Filament is a collection of full-stack components for accelerated Laravel development. From 4.0.0 until 4.12.6 and 5.7.6, packages/panels/src/Auth/MultiFactor/App/AppAuthentication.php uses AppAuthentication::verifyCode() with a used-code cache key derived from both the app authentication secret and the submitted TOTP code. This isolates the newest accepted timestep by code instead of by secret, allowing a previously issued app-based MFA code to be accepted after a newer code has already been used. Reuse of the exact same code was already prevented, but another code inside the accepted time window remained usable. An attacker who obtains the target account's password and one app-based MFA code can use that code for the remainder of the configured window, which is approximately four minutes with the default settings, even after the legitimate account holder logs in with a newer code. Email-based MFA is not affected. This issue is fixed in versions 4.12.6 and 5.7.6.
Published: 2026-09-01
Score: 6.5 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An attacker who obtains a user's password and a single app‑based MFA code can reuse that code for the remainder of the configured time window, typically about four minutes, even after the legitimate account uses a newer code. This allows the attacker to impersonate the user without being blocked by the repeated‑use check, thereby compromising the account’s confidentiality and potentially allowing further attacks within that window.

Affected Systems

Filament PHP, versions 4.0.0 through 4.12.5 and 5.7.0 through 5.7.5, which contain the vulnerable authentication cache logic. Versions 4.12.6 and 5.7.6 and later have the fix applied.

Risk and Exploitability

The CVSS score of 6.5 indicates moderate severity. EPSS is not available and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is through a web or application interface, requiring an attacker to have the user’s password and an app‑based MFA code. The attack is feasible during the MFA time window and can be repeated within that period, potentially exposing sensitive actions performed by the user.

Generated by OpenCVE AI on September 2, 2026 at 03:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Filament to version 4.12.6 or later, or to 5.7.6 or later, to deploy the fixed authentication logic.
  • If an upgrade cannot be performed immediately, configure the MFA code validity period to the minimum supported value (e.g., 30 seconds) to reduce the window in which a reused code remains valid.
  • Consider temporarily disabling TOTP MFA or requiring re‑authentication after a password change until the patch is applied.

Generated by OpenCVE AI on September 2, 2026 at 03:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-r3j6-gpjw-qfjr Filament: Multi-factor authentication (app) codes can still be used after a newer code has been used
History

Wed, 02 Sep 2026 02:30:00 +0000

Type Values Removed Values Added
First Time appeared Filamentphp
Filamentphp filament
Vendors & Products Filamentphp
Filamentphp filament

Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Description Filament is a collection of full-stack components for accelerated Laravel development. From 4.0.0 until 4.12.6 and 5.7.6, packages/panels/src/Auth/MultiFactor/App/AppAuthentication.php uses AppAuthentication::verifyCode() with a used-code cache key derived from both the app authentication secret and the submitted TOTP code. This isolates the newest accepted timestep by code instead of by secret, allowing a previously issued app-based MFA code to be accepted after a newer code has already been used. Reuse of the exact same code was already prevented, but another code inside the accepted time window remained usable. An attacker who obtains the target account's password and one app-based MFA code can use that code for the remainder of the configured window, which is approximately four minutes with the default settings, even after the legitimate account holder logs in with a newer code. Email-based MFA is not affected. This issue is fixed in versions 4.12.6 and 5.7.6.
Title Filament: Multi-factor authentication (app) codes can still be used after a newer code has been used
Weaknesses CWE-294
References
Metrics cvssV3_1

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


Subscriptions

Filamentphp Filament
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-01T19:10:47.969Z

Reserved: 2026-09-01T16:17:43.078Z

Link: CVE-2026-84306

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-01T19:17:31.023

Modified: 2026-09-01T19:17:31.023

Link: CVE-2026-84306

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-02T03:15:04Z

Weaknesses
  • CWE-294

    Authentication Bypass by Capture-replay