Case-sensitivity flaw in Gogs Git Smart HTTP lets read-only users push
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · Low
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
Gogs 0.14.3 contains a case-sensitivity flaw in the Git Smart HTTP authorization layer, classified under CWE-178. The gitHTTPIsPull function compares the Git action verb case-sensitively and treats unrecognized verbs as read access, while the request dispatcher lowercases the verb before routing it to the receive-pack handler. An authenticated read-only collaborator can capitalize a letter in the URL to push to a private repository, creating, updating, or deleting refs.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
In Gogs 0.14.3, the Git Smart HTTP authorization layer in internal/route/repo/http.go allows a push when only read access was intended, a different vulnerability than CVE-2026-52810. This occurs because of a case-sensitivity desync between the authorization classifier and the request dispatcher: the gitHTTPIsPull function compares the Git action verb case-sensitively and defaults to pull (read access) for any unrecognized string, whereas the request dispatcher lowercases the same verb before routing it to the receive-pack handler. Capitalizing a single letter in the URL (e.g. info/Refs instead of info/refs, or git-receive-Pack instead of git-receive-pack) causes the classifier to misidentify a push as a pull, granting only read-level authorization, whereas the dispatcher routes it to the write handler. An authenticated read-only collaborator can exploit this to push to a private repository, creating, updating, or deleting refs.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
The sources list no fixed version for Gogs.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Timeline
- 2026-11-05 Threatist record created from CVE-2026-123012
- 2026-11-05 1 new reference · CNA
- 2026-11-05 Alias added: GHSA-hqvj-j27r-9j7c
- 2026-11-06 Priority changed: MEDIUM → LOW
- 2026-11-06 1 new reference · CNA
References
More Gogs vulnerabilities
- TI-2025-07419 File overwrite in file update API in Gogs KEVCVSS 4.0HIGH 8.7
- TI-2022-01876 OS Command Injection in gogs/gogs CVSS 3.1CRITICAL 9.8
- TI-2024-36988 Gogs has a Path Traversal in file update API CVSS 4.0HIGH 8.7
- TI-2026-37922 Gogs: Path Traversal in organization name results in RCE through Git hooks CVSS 3.1CRITICAL 10.0
- TI-2022-01744 Remote Command Execution in gogs/gogs CVSS 3.1CRITICAL 10.0
- TI-2025-39562 Gogs's update .git/config file allows remote command execution CVSS 4.0CRITICAL 9.3
Sources
- CVE-2026-123012 · CVE Program
- CVE-2026-123012 · NVD
- FIRST EPSS
- GHSA-hqvj-j27r-9j7c · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences