GHSA-5qhx-gwfj-6jqrMediumCVSS 6.5
Gogs user can update repository content with read-only permission
🔗 CVE IDs covered (1)
📋 Description
Vulnerability Description
The endpoint
PUT /repos/:owner/:repo/contents/*
does not require write permissions and allows access with read permission only via repoAssignment().
After passing the permission check, PutContents() invokes UpdateRepoFile(), which results in:
- Commit creation
- Execution of
git push
As a result, a token with read-only permission can be used to modify repository contents.
Attack Prerequisites
- Possession of a valid access token
- Read permission on the target repository (public repository or collaborator with read access)
Attack Scenario
- The attacker accesses the target repository with a read-only token
- The attacker sends a
PUT /contentsrequest to update an arbitrary file - The server creates a commit and performs a git push on behalf of the attacker
Potential Impact
- Source code tampering
- Injection of backdoors
- Compromise of release artifacts and distributed packages
🎯 Affected products1
- go/gogs.io/gogs:<= 0.13.3
🔗 References (5)
- https://github.com/gogs/gogs/security/advisories/GHSA-5qhx-gwfj-6jqr
- https://github.com/gogs/gogs/pull/8102/commits/b6afcdb2e8d291e2adaaf6a8b7f88d240606515d
- https://github.com/gogs/gogs/releases/tag/v0.13.4
- https://nvd.nist.gov/vuln/detail/CVE-2026-23632
- https://github.com/advisories/GHSA-5qhx-gwfj-6jqr