Description
Gitea's OAuth2 token endpoint verified the signature and grant of a token submitted with the `refresh_token` grant type, but not that the token was a refresh token. An unexpired access token for the same OAuth2 application and grant could be exchanged for a new access token and refresh token. Whoever holds such an access token could keep access beyond the token's original lifetime.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Gitea | Gitea | ≤ 28.0.0 | — |
Advisories 1
- WID-SEC-2026-3792 Gitea: Mehrere Schwachstellen BSI CERT-Bund (WID) · Oct 6, 2026
References
- GitHub Security Advisory GHSA-469m-x4mw-38r3 vendor-advisory
- Fix: go-gitea/gitea pull request #39501 patch
- Fix backport to release/v28: go-gitea/gitea pull request #39507 patch
- Gitea 28.1.0 release announcement release-notes
- go-gitea/gitea v28.1.0 release release-notes