Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Gogs with valid low-privilege account
-
DeliveryIdentify target private repository owner and name via enumeration or insider knowledge
-
ExploitSend Watch subscription API request to private repository endpoint
-
ExecutionInverted access check grants watch permission instead of rejecting it
-
PersistMonitor dashboard activity feed to harvest commit messages, branch names, and issue titles
-
ImpactReceive email notifications with full issue and comment content if server email is enabled
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated Gogs account on the target instance - no administrative privileges or elevated roles are needed (CVSS PR:L confirms low-privilege access is sufficient). The attacker must also know or correctly guess the owner username and repository name of the target private repository, as there is no unauthenticated repository enumeration implied by the description. The most sensitive form of disclosure - full issue and comment content - additionally requires that the Gogs administrator has enabled email notifications, which is a configurable rather than default-on setting. What limits exploitation: authentication is mandatory (unauthenticated external attackers cannot exploit this), repository name must be known or guessed (requires prior reconnaissance or insider knowledge), and email-level disclosure depends on a specific server configuration. Dashboard-level metadata disclosure (commit messages, branch names, issue titles) occurs without any email configuration requirement. |
| Impact | The NVD CVSS 3.1 score of 4.3 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N is consistent with the description: network-accessible, low complexity, requiring only a valid account, with limited confidentiality impact and no integrity or availability consequences. This CVE is not in the CISA KEV catalog and no standalone POC exploit code has been identified; however, the published upstream commit diff is a one-line change that makes reproduction trivially obvious to any authenticated user reading the advisory. The practical risk is elevated for multi-tenant or organizational Gogs deployments where private repository metadata - commit messages, branch names, issue and PR titles - contains sensitive business, security, or personnel information. Real-world impact depends heavily on whether email notifications are enabled, as that escalates disclosure from metadata to full issue and comment content. EPSS score was not provided in available data. No conflicts between the CVSS vector and the description were identified. |
| Exploit ScenarioDerived | An authenticated Gogs user with a valid low-privilege account but no access to a target private repository sends a Watch subscription API request (e.g., PUT /api/v1/repos/{owner}/{private-repo}/subscription) after learning the repository name through enumeration or insider knowledge. The inverted access check grants the watch rather than blocking it, and the attacker's activity dashboard begins surfacing commit messages, branch names, issue titles, and PR details. If the instance has email notifications enabled, the attacker additionally receives emails containing full issue descriptions and comment threads from the private repository. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Private repository metadata in Gogs 0.14.3 and earlier leaks to any authenticated user due to a boolean inversion in the Watch API access control check. An authenticated attacker who watches a private repository they are not authorized to view will receive commit messages, branch names, issue titles, and PR details via their dashboard activity feed - and full issue and comment content via email if notifications are enabled. No public exploit has been identified at time of analysis, though the single-line boolean fix published in the upstream commit makes the flaw trivial to reproduce by any authenticated user who reads the commit diff.
RemediationAI
The upstream fix is available as commit d61caa3676fde060d0c03ccf815851dddc7c67e0 at https://github.com/gogs/gogs/commit/d61caa3676fde060d0c03ccf815851dddc7c67e0, correcting the boolean inversion in the Watch API handler; however, no officially released patched version number has been confirmed from the available data, so organizations should monitor the vendor advisory at https://github.com/gogs/gogs/security/advisories/GHSA-v8w7-f6gc-cqc2 for a tagged release. As a compensating control prior to patching, administrators can block the Watch subscription API endpoint at the reverse proxy layer by dropping PUT and DELETE requests to the /api/v1/repos/{owner}/{repo}/subscription path, which disables the Watch feature entirely for all users as a trade-off. Alternatively, restricting Gogs access to trusted internal users only (behind VPN or network-level controls) limits the pool of potential attackers to users who already have some degree of trust, reducing but not eliminating risk since any authenticated user is affected.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Gogs is a self-hosted Git service written in Go (CPE: cpe:2.3:a:gogs:gogs:*:*:*:*:*:*:*:*). The flaw is classified as CWE-863 (Incorrect Authorization), which covers cases where an authorization check is performed but applied incorrectly. In the Watch API handler within cmd/gogs/internal/web/webapi_repo.go, the condition if repoCtx.ViewerCanRead() returns HTTP 404 when the user CAN read the repository - the exact inverse of the intended logic. The correct guard if !repoCtx.ViewerCanRead() would reject users without read permission; instead, every user without access is permitted to subscribe, while users who legitimately have access are blocked. This is a pure logic error, not a missing check, making it a textbook CWE-863 instance rather than a missing authorization (CWE-862).
Know when Gogs gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Requires only a valid low-privilege Gogs account (PR:L) over the network; impact is limited to metadata confidentiality disclosure with no integrity or availability consequences.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Gogs is an open source self-hosted Git service. In 0.14.3 and earlier, any authenticated user can watch a private repository they have no access to, because the access check in the Watch API handler is inverted. The code checks if repoCtx.ViewerCanRead() (returns 404 when the user CAN read) instead of if !repoCtx.ViewerCanRead() (return 404 when the user CANNOT read). Once watching, the attacker's dashboard activity feed shows commit messages, branch names, issue titles, and PR details from the private repository. If email notifications are enabled, the attacker also receives emails containing issue and comment content.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Code execution on Gogs servers is possible through improper symbolic-link handling in the repository file editor's PutCo
Multiple SQL injection vulnerabilities in Gogs (aka Go Git Service) 0.3.1-9 through 0.5.x before 0.5.6.1105 Beta allow r
The git hook feature in Gogs 0.5.5 through 0.12.2 allows for authenticated remote code execution. Rated high severity (C
Gogs through 0.13.0 allows argument injection during the previewing of changes. Rated critical severity (CVSS 9.9), this
The built-in SSH server of Gogs through 0.13.0 allows argument injection in internal/ssh/ssh.go, leading to remote code
Gogs self-hosted Git service v0.13.3 has a command injection vulnerability enabling remote code execution through crafte
Unauthenticated file upload in Gogs self-hosted Git service 0.13.4 and below. Default configuration exposes file upload
OS Command Injection in GitHub repository gogs/gogs prior to 0.12.9. Rated critical severity (CVSS 9.8), this vulnerabil
Gogs 0.11.66 allows remote code execution because it does not properly validate session IDs, as demonstrated by a ".." s
Supply chain attack via LFS object overwrite across repos in Gogs before 0.14.2. PoC and patch available.
Path Traversal in GitHub repository gogs/gogs prior to 0.12.9. Rated critical severity (CVSS 9.1), this vulnerability is
Missing Authorization in GitHub repository gogs/gogs prior to 0.12.5. Rated critical severity (CVSS 9.1), this vulnerabi
EUVD-2026-39062
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB