CVE-2026-28513

Pocket ID: OIDC authorization code validation uses AND instead of OR, allowing cross-client token exchange

Published Mar 9, 2026 CVSS 3.1 · 8.5 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-qh6q-598w-w6m2 Pocket ID: OIDC authorization code validation uses AND instead of OR, allowing cross-client token exchange
History
Type Values Removed Values Added
First Time appeared Pocket-id pocket Id
CPEs cpe:2.3:a:pocket-id:pocket_id:*:*:*:*:*:*:*:*
Vendors & Products Pocket-id pocket Id
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Pocket-id
Pocket-id pocket-id
Vendors & Products Pocket-id
Pocket-id pocket-id
Type Values Removed Values Added
Description 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.
Title Pocket ID: OIDC authorization code validation uses AND instead of OR, allowing cross-client token exchange
Weaknesses CWE-863
References
Metrics cvssV3_1

{'score': 8.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Mar 10, 2026, 2:32 PM
Reserved
Feb 27, 2026, 8:57 PM
Status
Analyzed
Published
Mar 10, 2026, 5:38 PM
Modified
Jun 17, 2026, 10:28 AM