Description
Forgejo through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through 17.0.1 contains an information disclosure vulnerability in the GetPublicKey API handler that lacks an ownership check on key lookups. Authenticated users with a read:user token or session can enumerate sequential key IDs to obtain titles, fingerprints and public key material of other users' SSH, deploy and principal keys.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
forgejo forgejo
Default version status: unaffected
0 to ≤ 15.0.11affected16.0.0 to ≤ 16.0.7affected17.0.0 to ≤ 17.0.1affected
References
- https://codeberg.org/forgejo/forgejo/src/tag/v17.0.1/routers/api/v1/user/key.go#L191 ↗
- https://codeberg.org/forgejo/forgejo/src/tag/v17.0.1/models/asymkey/ssh_key.go#L139-L143 ↗
- https://abraxaslabs.tech/research/forgejo-keys-idor ↗
- https://codeberg.org/forgejo/forgejo ↗
- https://www.vulncheck.com/advisories/forgejo-through-15.0.11-16.0.7-and-17.0.1-information-disclosure-via-api-v1-user-keys-id ↗