Description (CNA)
Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to services. From 2.6.0 until 2.9.0, frontend/src/routes/authorize/+page.ts reads the redirect_uri query parameter and frontend/src/routes/authorize/+page.svelte uses the raw callbackURL in redirectWithError when prompt=none cannot complete silent authorization. The client-side path only blocks javascript and data schemes and does not invoke the backend callback allow-list validation, so an unauthenticated attacker who knows a valid client_id can redirect a victim browser to an arbitrary HTTP or HTTPS origin for phishing or OIDC error and state smuggling. This issue is fixed in version 2.9.0.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| pocket-id / pocket-id | affected >= 2.6.0, < 2.9.0 |
CWE
CWE-601
References
- https://github.com/pocket-id/pocket-id/security/advisories/GHSA-2wvm-8mvp-22qv
- https://github.com/pocket-id/pocket-id/commit/8a7577497131229badb35cb4b3a4227b1300afff
- https://github.com/pocket-id/pocket-id/releases/tag/v2.9.0
ADP enrichment
No English description supplied.