Back to feed
21Track

pocket-id: Stale email-verification tokens in Pocket ID backend

pocket-id · CVE-2026-115770 ETK-2026-3550 EUVD-2026-117188 GHSA-RM8C-2CV8-JWF6
0 news outlets0 CERTs and agencies1 research labs

Assessment: Track

SSVC decision points: exploitation poc, automatable no, technical impact total, deployment low.

What is it?

Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to services. From 2.2.0 until 2.12.0, SendEmailVerification uses the token model in backend/internal/model/email_verification_token.go to bind an email-verification token only to the user's identifier, while UpdateUser can change the account email without invalidating the outstanding token and VerifyEmail marks the current address as verified. An ordinary user can request a token for an address they control, change the account to an arbitrary unused address, and redeem the old token so Pocket ID publishes the new address with email_verified set to true. The default affected configuration uses emailsVerified=false and allowOwnAccountEdit=true; the target address must not already belong to another Pocket ID user. A relying application that trusts a verified email for automatic account matching or provisioning can link the attacker's identity to another user's account, while applications that rely exclusively on the stable OIDC sub claim are not affected by that downstream consequence. This issue is fixed in version 2.12.0.

Evidence

Technical advisories1Detailed write-ups from security research teams

Exploitation

  • Exploit code published (not verified by us)
  • Exploited in the wild (confirmed by a source)
  • Listed as known exploited (CISA KEV)
CVSS
9.6
EPSS
–
First seen
2 h ago
Status
confirmed

All pocket-id vulnerabilities