CVE-2026-84306
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.
Scoring
- Severity
- MEDIUM
- CVSS base score
- 6.5
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
- EPSS probability
- 0.36%
- CWE
- CWE-294
- Published
- 2026-09-01
- Last modified
- 2026-09-04
Affected products
- filamentphp filament
- filamentphp filament
Weakness type
Related vulnerabilities
- CVE-2026-55250 — Maravel-Framework Token Replay Vulnerability via Premature JWT Blacklist Eviction in Tagged Caches
- CVE-2026-84003 — Microsoft Authentication Library (MSAL) for Node.js Spoofing Vulnerability
- CVE-2026-69676 — Windows Kerberos Remote Code Execution Vulnerability
- CVE-2026-73312 — XenForo < 2.3.13 Refresh Token Replay via Expired Access Token
- CVE-2026-73311 — XenForo < 2.3.13 OAuth2 Authorization Code Reuse
- CVE-2022-51016 — PocketMine-MP 3.x before 3.27.0 Authentication Bypass via Login Replay
- CVE-2026-86219 — Authen::SASL::Perl::DIGEST_MD5 versions before 2.2100 for Perl accept replayed authentication responses via unverified nonce in server_step
- CVE-2026-75034 — Rancher: SAML Assertion Replay