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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| forgejo | forgejo | ≤ 15.0.11, 16.0.0 – ≤ 16.0.7, 17.0.0 – ≤ 17.0.1 | — |
References
- https://codeberg.org/forgejo/forgejo/src/tag/v17.0.1/routers/api/v1/user/key.go#L191 technical-description
- https://codeberg.org/forgejo/forgejo/src/tag/v17.0.1/models/asymkey/ssh_key.go#L139-L143 technical-description
- https://abraxaslabs.tech/research/forgejo-keys-idor third-party-advisory
- https://codeberg.org/forgejo/forgejo product
- VulnCheck Advisory: Forgejo through 15.0.11, 16.0.7, and 17.0.1 Information Disclosure via /api/v1/user/keys/{id} third-party-advisory