Horizon Alert
Summary of the vulnerability and why it matters
A security issue in Laravel Socialite's Facebook provider could allow unauthorized access to user accounts by replaying captured authentication tokens. This vulnerability affects the process of verifying identity through Facebook logins and may lead to bypassing existing security controls.
- Authentication bypass using replayed tokens.
- Matters for protecting user account access.
- Confirm relevance and exposure.
Attack Path
How an attacker could exploit the issue
Attackers can bypass authentication by replaying captured OIDC id_tokens, allowing them to access victim accounts. This is possible because the Facebook provider in Laravel Socialite fails to validate the nonce claim in tokens issued by Facebook. An attacker who obtains a valid, unexpired id_token for the same Facebook App ID can submit it to the backend, circumventing security checks.
- Requires no initial authentication.
- Replays captured OIDC id_tokens.
- Grants unauthorized account access.
Live Threat
Current exploitation, exposure, and threat context
This vulnerability could allow unauthenticated attackers to bypass authentication and gain unauthorized access to user accounts. When supported by the advisory, this could occur if an attacker obtains a valid, unexpired OIDC id_token for the affected Facebook App ID and submits it to the backend userFromToken() endpoint. The missing nonce validation allows the token to be replayed, leading to unauthorized account access.
- User account access.
- Replaying captured OIDC id_tokens.
- Unauthorized access to victim accounts.
Operational Fix
Recommended remediation, mitigation, and detection steps
The application owner and platform team are most likely responsible for addressing this authentication bypass vulnerability. The first practical step involves identifying all instances of the affected technology, confirming their reachability and business criticality, and then assigning an accountable owner to plan remediation based on the assessed risk.
- Identify affected applications and their owners.
- Verify external reachability and business criticality.
- Plan remediation based on risk assessment.