Pocketbase is an open source web backend written in go. Prior to 0.22.42 and 0.37.4, in some situations, if an attacker knows the email address of the victim they can create and link an unverified PocketBase user in advance by authenticating with one of the OAuth2 app providers, e.g. A. When the victim gets invited or decides to sign up to your app on their own with provider B (PocketBase OAuth2 auth requires to be with a different provider because we dont allow multiple OAuth2 accounts from the same provider to be associated to a single PocketBase user), the user created previously by the attacker will be autolinked, upgraded to verified and its old password reset. This vulnerability is fixed in 0.22.42 and 0.37.4.
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Pocketbase | Pocketbase | * | 0.22.42 (excluding) |
| Pocketbase | Pocketbase | 0.23.0 (including) | 0.37.4 (excluding) |