Executive brief
Gogs is a self-hosted Git service used by organizations to manage source code. A vulnerability in the way it handles pull requests allows a logged-in user to execute arbitrary commands on the underlying server. This could lead to a total compromise of the server, including the theft of all hosted private code, user credentials, and the ability to modify software projects without detection.
Technical details
A command injection vulnerability exists in Gogs prior to version 0.14.3 within the pull request merge logic. When the 'Rebase before merging' option is used, the application passes the base branch name to the 'git rebase' command without proper sanitization or the use of the '--' separator. An authenticated attacker can create a repository with a maliciously crafted branch name (e.g., starting with '--exec=') that injects flags into the git command. Because 'git rebase --exec' executes commands via the system shell, this results in arbitrary code execution under the context of the Gogs process user. The vulnerability is particularly severe because Gogs often has open registration enabled by default, and any user can enable the required rebase settings on their own repositories.
Affected products
- Gogs Gogs < 0.14.3
Timeline
- 2026-05-29: other: Initial fix proposed via pull request
- 2026-06-07: patched: Version 0.14.3 released
- 2026-06-19: advisory: GitHub Security Advisory published
- 2026-06-24: disclosed: NVD publication date