Filament: Password validity disclosure for accounts denied panel access on login page
The advisory, in context
When multi-factor authentication is enabled, the login page presents the multi-factor challenge before evaluating canAccessPanel(). For an account that canAccessPanel() denies, submitting the correct password renders the challenge while an incorrect password returns the generic failure message, allowing an unauthenticated attacker to confirm that a password is valid for that account. When email-based multi-factor authentication is used, a login code is also sent to the account holder.
This issue only applies to accounts that both have multi-factor authentication enabled and are denied by canAccessPanel(). Authentication is not bypassed as the check still runs after the challenge, and no session is created.
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
From 4.0.0 before 4.12.5
Fixed in 4.12.5
86 explicitly affected versions
v4.0.0, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.16, v4.0.17, v4.0.18, v4.0.19, v4.0.2, v4.0.20, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.10.0, v4.10.1, v4.10.2, v4.11.0, v4.11.1, v4.11.2, v4.11.3, v4.11.4, v4.11.5, v4.11.6, v4.11.7, v4.11.8, v4.12.0, v4.12.0-beta1, v4.12.0-beta2, v4.12.0-beta3, v4.12.0-beta4, v4.12.1, v4.12.2, v4.12.3, v4.12.4, v4.2.0, v4.2.1, v4.2.2, v4.2.3, v4.2.4, v4.3.0, v4.3.1, v4.4.0, v4.5.0, v4.5.1, v4.5.2, v4.5.3, v4.6.0, v4.6.1, v4.6.2, v4.6.3, v4.7.0, v4.7.1, v4.7.2, v4.7.3, v4.7.4, v4.8.0, v4.8.1, v4.8.2, v4.8.3, v4.8.4, v4.8.5, v4.9.0, v4.9.1, v4.9.2, v4.9.3, v4.9.4, v4.9.5
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.12.5"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v4.0.0",
"v4.0.1",
"v4.0.10",
"v4.0.11",
"v4.0.12",
"v4.0.13",
"v4.0.14",
"v4.0.15",
"v4.0.16",
"v4.0.17",
"v4.0.18",
"v4.0.19",
"v4.0.2",
"v4.0.20",
"v4.0.3",
"v4.0.4",
"v4.0.5",
"v4.0.6",
"v4.0.7",
"v4.0.8",
"v4.0.9",
"v4.1.0",
"v4.1.1",
"v4.1.10",
"v4.1.2",
"v4.1.3",
"v4.1.4",
"v4.1.5",
"v4.1.6",
"v4.1.7",
"v4.1.8",
"v4.1.9",
"v4.10.0",
"v4.10.1",
"v4.10.2",
"v4.11.0",
"v4.11.1",
"v4.11.2",
"v4.11.3",
"v4.11.4",
"v4.11.5",
"v4.11.6",
"v4.11.7",
"v4.11.8",
"v4.12.0",
"v4.12.0-beta1",
"v4.12.0-beta2",
"v4.12.0-beta3",
"v4.12.0-beta4",
"v4.12.1",
"v4.12.2",
"v4.12.3",
"v4.12.4",
"v4.2.0",
"v4.2.1",
"v4.2.2",
"v4.2.3",
"v4.2.4",
"v4.3.0",
"v4.3.1",
"v4.4.0",
"v4.5.0",
"v4.5.1",
"v4.5.2",
"v4.5.3",
"v4.6.0",
"v4.6.1",
"v4.6.2",
"v4.6.3",
"v4.7.0",
"v4.7.1",
"v4.7.2",
"v4.7.3",
"v4.7.4",
"v4.8.0",
"v4.8.1",
"v4.8.2",
"v4.8.3",
"v4.8.4",
"v4.8.5",
"v4.9.0",
"v4.9.1",
"v4.9.2",
"v4.9.3",
"v4.9.4",
"v4.9.5"
]
}From 5.0.0 before 5.7.5
Fixed in 5.7.5
43 explicitly affected versions
v5.0.0, v5.1.0, v5.1.1, v5.1.2, v5.1.3, v5.2.0, v5.2.1, v5.2.2, v5.2.3, v5.2.4, v5.3.0, v5.3.1, v5.3.2, v5.3.3, v5.3.4, v5.3.5, v5.4.0, v5.4.1, v5.4.2, v5.4.3, v5.4.4, v5.4.5, v5.5.0, v5.5.1, v5.5.2, v5.6.0, v5.6.1, v5.6.2, v5.6.3, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.7.0, v5.7.0-beta1, v5.7.0-beta2, v5.7.0-beta3, v5.7.0-beta4, v5.7.1, v5.7.2, v5.7.3, v5.7.4
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.0.0"
},
{
"fixed": "5.7.5"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v5.0.0",
"v5.1.0",
"v5.1.1",
"v5.1.2",
"v5.1.3",
"v5.2.0",
"v5.2.1",
"v5.2.2",
"v5.2.3",
"v5.2.4",
"v5.3.0",
"v5.3.1",
"v5.3.2",
"v5.3.3",
"v5.3.4",
"v5.3.5",
"v5.4.0",
"v5.4.1",
"v5.4.2",
"v5.4.3",
"v5.4.4",
"v5.4.5",
"v5.5.0",
"v5.5.1",
"v5.5.2",
"v5.6.0",
"v5.6.1",
"v5.6.2",
"v5.6.3",
"v5.6.4",
"v5.6.5",
"v5.6.6",
"v5.6.7",
"v5.6.8",
"v5.7.0",
"v5.7.0-beta1",
"v5.7.0-beta2",
"v5.7.0-beta3",
"v5.7.0-beta4",
"v5.7.1",
"v5.7.2",
"v5.7.3",
"v5.7.4"
]
}References
- https://github.com/filamentphp/filament/security/advisories/GHSA-xwpv-pqxp-5v36
- https://github.com/filamentphp/filament/pull/20308
- https://github.com/filamentphp/filament/commit/ad5aacbc6d089b3dd7243ec1c1f8ab19dff7c3a1
- https://github.com/filamentphp/filament
- https://github.com/filamentphp/filament/releases/tag/v4.12.5
- https://github.com/filamentphp/filament/releases/tag/v5.7.5