CVE-2026-43983 json
Pocket ID: OIDC refresh token flow bypasses authorization revocation, account disabling, and group restrictions
published 2026-05-12 5 mo ago modified 2026-08-18 2 mo ago also GHSA-w6p7-2fxx-4f44 , GO-2026-6119 , EUVD-2026-29482
- cvss
- 8.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 16%
- public exploits
- 0
- none known
Summary
Pocket ID is an OIDC provider that allows users to authenticate with their passkeys to your services. Prior to 2.6.0, The createTokenFromRefreshToken function (oidc_service.go) validates the refresh token's cryptographic integrity but does not re-validate the user's current authorization state before issuing new tokens. This allows (1) the client to refresh the token indefinitely after authorization revocation, (2) the refresh token to continue to work after the account is disabled, and (3) the token to work after the client is removed from the group. This vulnerability is fixed in 2.6.0.
Patch / fix
- go github.com/pocket-id/pocket-id/backend 0.0.0-20260419162744-978ac87deffe
- pocket-id pocket_id 2.6.0
- govulncheck-vulndb SLES for SAP applications 16.0, SLES 16.0 0.0.20260827T195228-160000.1.1
suse advisories SUSE-SU-2026:23625-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260827T195228-160000.1.1
opensuse advisories openSUSE-SU-2026:21761-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 5 mo ago
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 16% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/pocket-id/pocket-id/security/advisories/GHSA-w6p7-2fxx-4f44 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/pocket-id/pocket-id/backend | <0.0.0-20260419162744-978ac87deffe |
0.0.0-20260419162744-978ac87deffe |
Affected products
- pocket-id pocket-id
Classification
References
-
github.com
/pocket-id/pocket-id/commit/978ac87deffec58beaccd15aead975e91b94c8a5
web
-
github.com
/pocket-id/pocket-id/security/advisories/GHSA-w6p7-2fxx-4f44
exploit, web, mitigation, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-43983
advisory
-
github.com
/pocket-id/pocket-id
package
-
github.com
/pocket-id/pocket-id/releases/tag/v2.6.0
web
Sources
- CVE List CVE-2026-43983
- GitHub Advisory GHSA-w6p7-2fxx-4f44
- NVD CVE-2026-43983
- OSV GO-2026-6119
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.