Pocket ID: OIDC authorization code validation uses AND instead of OR, allowing cross-client token exchange
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to your services. Prior to 2.4.0, the OIDC token endpoint rejects an authorization code only when both the client ID is wrong and the code is expired. This allows cross-client code exchange and expired code reuse. This vulnerability is fixed in 2.4.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- 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 |
|---|---|---|---|---|---|
| pocket-id | pocket-id | before 2.4.0 | 2.4.0 | Patch available | CNA |
| — | github.com/pocket-id/pocket-id/backend (Go) | before 0.0.0-20260307173642-b59e35cb59ae | 0.0.0-20260307173642-b59e35cb59ae | Patch available | GHSA-qh6q-598w-w6m2 |
- pocket-id Vendorpocket-id Affected before 2.4.0 Fixed in 2.4.0 Patch available CNA
- github.com/pocket-id/pocket-id/backend (Go) Vendor— Affected before 0.0.0-20260307173642-b59e35cb59ae Fixed in 0.0.0-20260307173642-b59e35cb59ae Patch available GHSA-qh6q-598w-w6m2
Remediation
- Fix · CNA pocket-id (pocket-id) Fixed in 2.4.0
- Fix · GHSA-qh6q-598w-w6m2 github.com/pocket-id/pocket-id/backend (Go) Fixed in 0.0.0-20260307173642-b59e35cb59ae Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-28513
- 2026-10-03 Alias added: GHSA-qh6q-598w-w6m2
References
More pocket-id Pocket Id vulnerabilities
- TI-2026-32027 Pocket ID: OIDC refresh token flow bypasses authorization revocation, account disabling, and group restrictions CVSS 4.0HIGH 8.5
- TI-2026-22774 Pocket ID: OAuth redirect_uri validation bypass via userinfo/host confusion CVSS 3.1HIGH 7.1
Sources
- CVE-2026-28513 · CVE Program
- CVE-2026-28513 · NVD
- FIRST EPSS
- GHSA-qh6q-598w-w6m2 · 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