Description
Gitea Actions task tokens authenticate to the REST API as a shared system user with a negative ID, which repository, organization, project and key filters treated as having no owner restriction, and the token carried no API scope to restrict user-scoped routes. A user who can run a workflow could use the job's token with `GET /api/v1/user/repos` to list every repository on the instance, including private repositories of other users and organizations, with their metadata. Repository contents remained protected by per-repository permission checks. System users now own nothing, and `/api/v1/user` routes other than `GET /api/v1/user` accept only individual and bot accounts.
References
- https://blog.gitea.com/release-of-28.3.0/
- https://github.com/go-gitea/gitea/pull/39945
- https://github.com/go-gitea/gitea/pull/40115
- https://github.com/go-gitea/gitea/releases/tag/v28.3.0
- https://github.com/go-gitea/gitea/security/advisories/GHSA-8r36-6j2c-3gmv
Collected automatically from public sources. Verify affected versions and fixes in the vendor's notice before acting.