---
id: "CVE-2026-123012"
kind: "vulnerability"
aliases: ["CVE-2026-123012"]
title: "Gogs: Git HTTP push allowed with only read access"
severity: "high"
cvss: 7.1
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "gogs", "fixed": [], "affected": "0.14.3 (per NVD; vendor unconfirmed)", "ecosystem": "go"}]
ecosystems: []
tags: ["git", "gogs", "package", "self-hosted"]
not_affected_if: ["no-read-only-users", "ssh-only-access"]
published_at: "2026-11-05T05:18:36+00:00"
first_seen_at: "2026-11-05T05:31:54+00:00"
updated_at: "2026-11-05T05:35:19+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-123012", "first_seen_at": "2026-11-05T05:31:54+00:00"}, {"source": "analyst", "url": "https://github.com/gogs/gogs/pull/8331", "first_seen_at": "2026-11-05T05:35:19+00:00", "cites": ["https://github.com/gogs/gogs/pull/8331"]}]
exploit_sources: []
---

# Gogs: Git HTTP push allowed with only read access

NVD says Gogs 0.14.3 still lets a read-only account push over Git smart HTTP, because the request verb is checked in a case-sensitive way in internal/route/repo/http.go. It is described as a different bug from CVE-2026-52810, which 0.14.3 fixed. No vendor advisory or fixed version for this one has been found.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:gogs affected 0.14.3 (per NVD; vendor unconfirmed) fixed no fixed version listed

## How to check

- Run `gogs --version`. 0.14.3 is the version NVD names as affected. Earlier versions are also exposed to the sibling CVE-2026-52810.
- Check whether any user has read-only access to a repository, or whether REQUIRE_SIGNIN_VIEW = true is set in app.ini. Either one makes a push by a read-only account matter.
- Gogs serves Git over HTTP by default. Instances that only use SSH for Git can probably skip this, but no source confirms it.

## Timeline

- 2026-11-05T05:31:54+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-123012
- 2026-11-05T05:35:19+00:00 analyst https://github.com/gogs/gogs/pull/8331 — The linked vendor advisory GHSA-wmfg-5p4h-5fw3 is for CVE-2026-52810, a different bug: the service= query parameter confusion, fixed in 0.14.3 (PR #8331). This CVE is described by NVD as a separate bypass in 0.14.3 caused by case-sensitive verb checking. I found no vendor advisory, fix or fixed version for it, and the NVD page returned nothing. Nothing is verified. Possible duplicate or mis-association with CVE-2026-52810; code decides merges.

## Documents

- [advisory] Vendor advisory: github.com https://github.com/gogs/gogs/security/advisories/GHSA-wmfg-5p4h-5fw3
- [mentions] gogs PR #8331: authorize Git HTTP by routed action (fix for CVE-2026-52810) https://github.com/gogs/gogs/pull/8331

## From the sources

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 inconsistency about whether a verb is checked in a case-sensitive manner.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
