{"schema_version":"1.7.3","id":"GHSA-9h33-g3ww-mqff","published":"2026-03-09T17:24:27Z","modified":"2026-03-23T04:56:19.070830926Z","aliases":["CVE-2026-28512","GO-2026-4653"],"summary":"Pocket ID: OAuth redirect_uri validation bypass via userinfo/host confusion","details":"### Impact\nA flaw in callback URL validation allowed crafted `redirect_uri` values containing URL userinfo (`@`) to bypass legitimate callback pattern checks. If an attacker can trick a user into opening a malicious authorization link, the authorization code may be redirected to an attacker-controlled host.\n\n### Patches\nFixed in `v2.3.1` (commit 3a339e33191c31b68bf57db907f800d9de5ffbc8).\nThe fix replaces delimiter-based callback matching with structured URL pattern matching and updates validation logic/tests.\n\n### Workarounds\n- Reject callback URLs containing userinfo (`@`) at reverse proxy / app policy level if feasible.","affected":[{"package":{"name":"github.com/pocket-id/pocket-id/backend","ecosystem":"Go","purl":"pkg:golang/github.com/pocket-id/pocket-id/backend"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.0-20260228130835-3a339e33191c"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-9h33-g3ww-mqff/GHSA-9h33-g3ww-mqff.json"}}],"references":[{"type":"WEB","url":"https://github.com/pocket-id/pocket-id/security/advisories/GHSA-9h33-g3ww-mqff"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-28512"},{"type":"WEB","url":"https://github.com/pocket-id/pocket-id/commit/3a339e33191c31b68bf57db907f800d9de5ffbc8"},{"type":"PACKAGE","url":"https://github.com/pocket-id/pocket-id"}],"database_specific":{"cwe_ids":["CWE-601"],"github_reviewed":true,"github_reviewed_at":"2026-03-09T17:24:27Z","nvd_published_at":"2026-03-10T17:38:50Z","severity":"HIGH"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N"}]}