Pocketbase: Account pre-hijacking via OAuth2 unverfied->verified autolinking upgrade
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · High · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-287.
Summary
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 don't 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pocketbase | pocketbase | before 0.22.42; 0.30.0 to before 0.37.4 | 0.22.42, 0.37.4 | Patch available | CNA |
| — | github.com/pocketbase/pocketbase (Go) | before 0.22.42 | 0.22.42 | Patch available | GHSA-pq7p-mc74-g65w |
| — | github.com/pocketbase/pocketbase (Go) | 0.30.0 to before 0.37.4 | 0.37.4 | Patch available | GHSA-pq7p-mc74-g65w |
- pocketbase Vendorpocketbase Affected before 0.22.42; 0.30.0 to before 0.37.4 Fixed in 0.22.42, 0.37.4 Patch available CNA
- github.com/pocketbase/pocketbase (Go) Vendor— Affected before 0.22.42 Fixed in 0.22.42 Patch available GHSA-pq7p-mc74-g65w
- github.com/pocketbase/pocketbase (Go) Vendor— Affected 0.30.0 to before 0.37.4 Fixed in 0.37.4 Patch available GHSA-pq7p-mc74-g65w
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:pocketbase:pocketbase:*:*:*:*:*:go:*:* | before 0.22.42; 0.23.0 to before 0.37.4 | Vulnerable | pocketbase |
- cpe:2.3:a:pocketbase:pocketbase:*:*:*:*:*:go:*:* Versions before 0.22.42; 0.23.0 to before 0.37.4 Vulnerable ·pocketbase
Remediation
- Fix · CNA pocketbase (pocketbase) Fixed in 0.22.42, 0.37.4
- Fix · GHSA-pq7p-mc74-g65w github.com/pocketbase/pocketbase (Go) Fixed in 0.22.42 Advisory →
- Fix · GHSA-pq7p-mc74-g65w github.com/pocketbase/pocketbase (Go) Fixed in 0.37.4 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-44166
- 2026-10-03 Alias added: GHSA-pq7p-mc74-g65w
References
Sources
- CVE-2026-44166 · CVE Program
- CVE-2026-44166 · NVD
- FIRST EPSS
- GHSA-pq7p-mc74-g65w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences