Skip to main content

Filament CVE-2026-48505

| EUVDEUVD-2026-38392 HIGH
Race Condition (CWE-362)
2026-06-22 GitHub_M GHSA-mc5j-f6wx-h9qh
7.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain victim password and recovery codes out-of-band
  2. Delivery
    Identify Filament MFA verification endpoint
  3. Exploit
    Submit same recovery code via N parallel HTTP requests
  4. Execution
    Race the check-then-consume window
  5. Persist
    Receive multiple valid session cookies
  6. Impact
    Distribute sessions across IPs to extend access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires four concrete conditions: (1) the target Filament instance must be on an affected version (4.0.0-4.11.4 or 5.0.0-5.6.4); (2) app-based (TOTP) MFA must be enabled - email-based MFA is explicitly unaffected; (3) the recovery-codes feature must be enabled in the MFA configuration; and (4) the attacker must already possess BOTH the victim user's password AND at least one of their unused recovery codes obtained out-of-band (phishing, credential stuffing, prior breach). The attacker must also be able to issue genuinely concurrent HTTP requests against the verification endpoint within the race window - server-side request serialization, aggressive rate-limiting, or a single-worker deployment could narrow or close the window. The flaw does NOT yield initial access on its own and does not bypass the password or recovery-code secrets themselves.

Impact

The CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N vector yields 7.4 (High), but real-world risk is substantially lower than the headline number suggests because this is a post-compromise amplification flaw rather than a standalone access vector - exploitation presupposes the attacker already holds the victim's password AND their recovery codes, conditions not modeled in PR:N. The AC:H rating correctly captures the timing-window requirement, and the absence of any KEV listing, EPSS data, or public POC suggests this is not under active exploitation. The practical impact is extending an already-compromised session footprint (one recovery code yields N sessions instead of 1), which matters for forensic containment and credential-rotation windows but does not enable initial access. Conflict to note: the PR:N rating is technically defensible (no Filament-issued credentials are needed for the HTTP submission itself) but is misleading without context, since the attacker must possess out-of-band secrets to even reach the vulnerable code path.

Exploit ScenarioDerived

An attacker who has previously phished or otherwise stolen a Filament admin user's password and recovery code set scripts a small concurrent HTTP client (e.g., 10 parallel curl/async requests) to submit the same recovery code to the MFA verification endpoint simultaneously. The race window allows several requests to pass validation before the code is marked consumed, returning multiple valid session cookies the attacker can distribute across IPs to evade single-session anomaly detection. No public POC is currently identified, but the bug class is well-understood and trivially scriptable by anyone with the prerequisite credentials.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 22, 2026

Recovery code reuse in Filament (Laravel admin panel framework) versions 4.0.0 through 4.11.4 and 5.0.0 through 5.6.4 allows attackers who already possess a victim's password and recovery codes to obtain multiple authenticated sessions per single recovery code by submitting parallel authentication requests. The flaw stems from a TOCTOU race condition (CWE-362) in app-based MFA recovery code validation, undermining the single-use guarantee. No public exploit identified at time of analysis and the vulnerability is fixed in 4.11.5 and 5.6.5.

RemediationAI

Vendor-released patch: upgrade to Filament 4.11.5 (for the 4.x branch) or 5.6.5 (for the 5.x branch) as documented in GHSA-mc5j-f6wx-h9qh at https://github.com/filamentphp/filament/security/advisories/GHSA-mc5j-f6wx-h9qh. If immediate upgrade is not possible, compensating controls include disabling the recovery-codes feature in the Filament MFA configuration (forces users into the standard TOTP flow but locks out anyone who has lost their authenticator), switching the MFA driver to email-based verification which is not affected (trade-off: weaker phishing resistance and dependence on mailbox security), or putting the authentication endpoint behind a rate-limiter or WAF rule that rejects concurrent recovery-code submissions from the same source within a short window (may produce false positives for legitimate retries). After patching, rotate any recovery codes that may have been used during the exposure window and review authentication audit logs for multiple successful logins tied to a single recovery code identifier.

Affected VersionsENISA

filament 4.0.0, < 4.11.5
filament 5.0.0, < 5.6.5

Affected Packages

composer filament/filament fix: 4.11.5, 5.6.5
euvd filament_4_0_0 fix: 4.11.5
euvd filament_5_0_0 fix: 5.6.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Filament is a popular open-source TALL-stack (Tailwind, Alpine, Laravel, Livewire) component library used to build admin panels and dashboards on top of Laravel applications, identified by CPE cpe:2.3:a:filamentphp:filament. The vulnerability is a CWE-362 concurrent execution race condition in the MFA recovery-code consumption logic: the code checks whether a recovery code is valid and then marks it as used in non-atomic operations, creating a check-then-act window. By submitting multiple authentication requests in parallel within that window, an attacker can pass the validation step multiple times before the 'consumed' state is written, allowing the same recovery code to authenticate more than one session. The defect is specific to app-based (TOTP) MFA flows and does not affect email-based MFA, which uses a different verification path.

Know when Filament gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 3.3 LOW

Attacker must already hold password and recovery codes (PR:H); AC:H for race window; impact is session-count amplification only, not new C/I compromise, so C:L/I:L/A:N.

3.1 AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:H/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Jun 22, 2026 - 23:02 EUVD

DescriptionCVE.org

Filament is a collection of full-stack components for accelerated Laravel development. From 4.0.0 until 4.11.5 and 5.6.5, a flaw in the handling of recovery codes for app-based multi-factor authentication allows the same recovery code to be reused via concurrent submission. This issue does not affect email-based MFA. It also only applies when recovery codes are enabled. If an attacker gains access to both the user's password and their recovery codes, they get two authenticated sessions per recovery code burned instead of one, or more if they batch the parallel submissions wider, materially extending the attacker's window of access compared to what the single-use guarantee implies. This vulnerability is fixed in 4.11.5 and 5.6.5.

Executive ViewAI

Why It Matters

Organizations using Filament versions 4.0.0-4.11.4 or 5.0.0-5.6.4 face a critical gap in MFA security: attackers who obtain both a user's password and recovery codes can exploit a race condition to establish multiple authenticated sessions from a single recovery code. This defeats the intended single-use protection of recovery mechanisms. Patches are available immediately in versions 4.11.5 and 5.6.5, with no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

Apply vendor patch. Upgrade to Filament 4.11.5 (for v4 branch) or 5.6.5 (for v5 branch).

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
popular Laravel admin panel library, common in PHP/Laravel ecosystems
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +37
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

CVE-2026-77567 HIGH POC
8.1 Aug 24

App-based multi-factor authentication in Filament (the Laravel admin panel framework) can be fully bypassed by an attack

CVE-2026-84306 MEDIUM POC
6.5 Sep 01

TOTP app-based MFA in Filament 4.0.0-4.12.5 and 5.0.0-5.7.5 can be bypassed by replaying any previously-issued authentic

CVE-2025-67507 HIGH
8.1 Dec 10

Recovery codes used as a fallback for app-based (TOTP) multi-factor authentication in Filament 4.0.0 through 4.3.0 are n

CVE-2026-84307 LOW POC
3.7 Sep 01

Password oracle in Filament's login flow (packages/panels/src/Auth/Pages/Login.php) allows unauthenticated remote attack

CVE-2026-48500 MEDIUM POC
6.5 Jun 22

Unauthenticated arbitrary file upload in Filament (Laravel component framework) versions 3.0.0 through 3.3.51, 4.x throu

CVE-2026-48167 MEDIUM POC
6.4 Jun 22

Stored cross-site scripting in Filament's ImageColumn and ImageEntry components allows low-privileged authenticated atta

CVE-2024-47186 MEDIUM
6.1 Sep 27

Filament is a collection of full-stack components for Laravel development. Rated medium severity (CVSS 6.1), this vulner

CVE-2026-104181 MEDIUM POC
5.4 Oct 01

Missing current-password confirmation in Filament's app-based multi-factor authentication management actions (set-up, di

CVE-2026-48166 MEDIUM POC
5.3 Jun 22

Filament's login page leaks account existence through a measurable timing side-channel, allowing unauthenticated remote

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy