Summary
Databasement before 1.10.9 contains an authentication bypass vulnerability in OAuthService::findOrCreateLocalUser() that links OIDC identities to local users by email without checking email_verified. Attackers can register an identity provider account with a victim's unverified email to log in as any user, including the super-admin, and retain access after password resets.
Remediation
References
- Patchhttps://github.com/David-Crty/databasement/commit/b7f4079c02b7ce3f1cf2844de182e809636c3382
- Advisoryhttps://github.com/David-Crty/databasement/security/advisories/GHSA-mh6w-2cch-w8v8
- Advisoryhttps://www.vulncheck.com/advisories/databasement-before-1.10.9-account-takeover-via-oidc-email-auto-linking
- Referencehttps://github.com/David-Crty/databasement/releases/tag/v1.10.9
- Referencehttps://github.com/David-Crty/databasement/blob/v1.10.8/app/Services/OAuthService.php#L55-L68