Missing audience validation in Pocket ID client credentials grant
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- High
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.0 · CNA. Fix status from CNA. Impact type from CWE-863.
Summary
Pocket ID, an OIDC provider that lets users sign in with passkeys, is affected from 1.11.0 before 2.10.0. The createTokenFromClientCredentials function embeds the client-controlled resource parameter in the access token aud claim without checking that the audience is registered or that the client may access it, which is CWE-20 and CWE-863. Any authenticated OIDC client can obtain a Pocket ID-signed token naming another client or an arbitrary audience. Where resource servers trust Pocket ID access tokens for service-to-service authorization, this bypasses audience-based access controls and can permit unauthorized data access or actions.
Written with Claude Haiku 5.5 from the sources below · 2026-11-04
Description from the CNA
Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to services. From 1.11.0 until 2.10.0, createTokenFromClientCredentials in backend/internal/service/oidc_service.go accepts the client-controlled resource parameter and embeds it directly in the access token aud claim without validating that the audience is registered or that the requesting client may access it. Any authenticated OIDC client can therefore obtain a Pocket ID-signed token naming another client or an arbitrary audience. The /api/oidc/introspect endpoint cannot distinguish the unauthorized token because it treats a token as active when the introspecting client's identifier matches the attacker-selected audience. In deployments where resource servers trust Pocket ID access tokens for service-to-service authorization, this bypasses audience-based access controls and can permit unauthorized data access or actions; deployments that do not use these tokens for resource-server authorization have no immediate exploitable impact. This issue is fixed in version 2.10.0.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade pocket-id to version 2.10.0 or later, the only fixed version listed.
Written with Claude Haiku 5.5 from the sources below · 2026-11-04
- Fix · CNA pocket-id (pocket-id) Fixed in 2.10.0
Timeline
- 2026-11-04 Threatist record created from CVE-2026-62662
- 2026-11-06 Priority changed: MEDIUM → LOW
References
More 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-22775 Pocket ID: OIDC authorization code validation uses AND instead of OR, allowing cross-client token exchange CVSS 3.1HIGH 8.5
- TI-2026-40301 Pocket ID: Open Redirect on the OIDC /authorize page via unvalidated redirect_uri with prompt=none CVSS 3.1MEDIUM 4.3
- TI-2026-85259 Pocket ID email verification token survives address change CVSS 3.1CRITICAL 9.6
- TI-2026-22774 Pocket ID: OAuth redirect_uri validation bypass via userinfo/host confusion CVSS 3.1HIGH 7.1
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences