Description
The OAuth2 userinfo endpoint (`/login/oauth/userinfo`) decided whether to limit the `groups` claim to public organizations by re-parsing the `Authorization` header as an OAuth2 access token instead of using the scope of the credential that authenticated the request. When a public-only OAuth2 token was sent as a query parameter or form field, or a public-only personal access token was used, that scope came back empty and the claim listed the token owner's private organizations, teams and concealed memberships. The disclosure is limited to the owner's organization and team names and memberships; no repository content is exposed. The endpoint now uses the scope of the authenticating token.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Gitea | Gitea | 1.23.0 – < 28.3.0 | 28.3.0 |
Advisories 1
- WID-SEC-2026-4281 Gitea: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 1, 2026
References
- GitHub Security Advisory GHSA-q9gm-9c7q-c5hq vendor-advisory
- Fix: go-gitea/gitea pull request #39690 patch
- Fix backport to release/v28: go-gitea/gitea pull request #39853 patch
- Gitea 28.3.0 release announcement release-notes
- go-gitea/gitea v28.3.0 release release-notes