Replay of private_key_jwt possible in ORY Fosite
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-287.
Summary
In ORY Fosite (the security first OAuth2 & OpenID Connect framework for Go) before version 0.31.0, when using "private_key_jwt" authentication the uniqueness of the `jti` value is not checked. When using client authentication method "private_key_jwt", OpenId specification says the following about assertion `jti`: "A unique identifier for the token, which can be used to prevent reuse of the token. These tokens MUST only be used once, unless conditions for reuse were negotiated between the parties". Hydra does not seem to check the uniqueness of this `jti` value. This problem is fixed in version 0.31.0.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ory | fosite | before 0.31.0 | 0.31.0 | Patch available | CNA |
| — | github.com/ory/fosite (Go) | before 0.31.0 | 0.31.0 | Patch available | GHSA-v3q9-2p3m-7g43 |
- fosite Vendorory Affected before 0.31.0 Fixed in 0.31.0 Patch available CNA
- github.com/ory/fosite (Go) Vendor— Affected before 0.31.0 Fixed in 0.31.0 Patch available GHSA-v3q9-2p3m-7g43
Remediation
- Fix · CNA fosite (ory) Fixed in 0.31.0
- Fix · GHSA-v3q9-2p3m-7g43 github.com/ory/fosite (Go) Fixed in 0.31.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2020-15222
- 2026-10-03 Alias added: GHSA-v3q9-2p3m-7g43
References
Advisory 2
More ory Fosite vulnerabilities
- TI-2020-11995 Ignored storage errors on token revokation in ORY Fosite CVSS 3.1HIGH 8.0
- TI-2020-12006 Redirect URL matching ignores character casing CVSS 3.1MEDIUM 6.1
- TI-2020-12005 OAuth2 Redirect URL validity does not respect query parameters and character casing for loopback addresses CVSS 3.1MEDIUM 6.1
Sources
- CVE-2020-15222 · CVE Program
- CVE-2020-15222 · NVD
- FIRST EPSS
- GHSA-v3q9-2p3m-7g43 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences