Skip to content
OpenAdvisories
High · 8.5 CVE-2026-28513 EUVD-2026-10408GHSA-qh6q-598w-w6m2GO-2026-4656

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

Published Mar 9, 2026 · Updated Mar 10, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
pocket-id pocket-id < 2.4.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1
openSUSE Leap 15.6 govulncheck-vulndb 0.0.20260317T205859-150000.1.152.1 SUSE-SU-2026:1042-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/pocket-id/pocket-id/backend < 0.0.0-20260307173642-b59e35cb59ae 0.0.0-20260307173642-b59e35cb59ae GHSA-qh6q-598w-w6m2

Advisories 2

References