CVE-2026-23632: Gogs user can update repository content with read-only permission
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
1. The attacker accesses the target repository with a read-only token 2. The attacker sends a PUT /contents request to update an arbitrary file 3. 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
Other sources
Gogs is an open source self-hosted Git service. In version 0.13.3 and prior, 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 and the execution of git push. As a result, a token with read-only permission can be used to modify repository contents. This issue has been patched in versions 0.13.4 and 0.14.0+dev.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23632?
CVE-2026-23632 is classified as a high severity vulnerability due to its potential for unauthorized access and modification of repository content.
How do I fix CVE-2026-23632?
To fix CVE-2026-23632, upgrade Gogs to version 0.13.4 or later, which includes a patch for this vulnerability.
What is the impact of CVE-2026-23632?
The impact of CVE-2026-23632 allows users with read-only permissions to edit repository contents, potentially leading to data integrity issues.
Which versions of Gogs are affected by CVE-2026-23632?
CVE-2026-23632 affects Gogs versions prior to 0.13.4, specifically up to version 0.13.3.
How does CVE-2026-23632 exploit permissions in Gogs?
CVE-2026-23632 exploits a flaw where the `PUT /repos/:owner/:repo/contents/*` endpoint does not adequately enforce write permissions, allowing unauthorized content updates.