Vulnerabilities in pkg:golang/gogs.io/gogs

PACKAGE
Advisory Identifier: GHSA-744x-3838-5r56
Advisory Summary

CVE-2026-52815 is a MODERATE gogs vulnerable to unauthenticated organization vulnerability (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) affecting Gogs.io/gogs libraries in the Go ecosystem. The issue involves gogs vulnerable to unauthenticated organization teams information disclosure via api. Remediation is available by upgrading affected packages to version 0.14.3.

77 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:golang/gogs.io/gogs

77 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:golang/gogs.io/gogs. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-744x-3838-5r56 CVE-2026-52815 MODERATE Gogs Vulnerable to Unauthenticated Organization Teams Information Disclosure via API
GHSA-xp79-5mx3-jx52 CVE-2026-52814 MODERATE Gogs has Unauthenticated Asymmetric Denial of Service (DoS) via SSH Handshake Stall (File Descriptor Exhaustion)
GHSA-c39w-43gm-34h5 CVE-2026-52813 CRITICAL Gogs has Path Traversal in organization name that results in RCE through Git hooks
GHSA-6p9m-q3jp-47h4 CVE-2026-52812 HIGH Gogs: LFS dedupe path leaks private repo content across tenants
GHSA-89mr-xqfv-758m CVE-2026-52811 CRITICAL Gogs: UploadRepoFiles writes outside repo working tree via committed parent sym
GHSA-wmfg-5p4h-5fw3 CVE-2026-52810 HIGH Gogs allows users to write to readonly repositories using receive-pack + service=git-upload-pack confusion
GHSA-268j-37xf-pp52 CVE-2026-52808 HIGH Gogs's write-level collaborators can mutate admin-only repository settings via API
GHSA-p9f5-h3rx-j5qw CVE-2026-52799 HIGH Gogs Missing Authorization in Attachment Download
GHSA-pwx3-qcgw-vh7h CVE-2026-52800 HIGH Gogs Vulnerable to CSRF Leading to Organization Owner Takeover
GHSA-wv27-2vqp-j7g5 CVE-2026-52801 HIGH Gogs has the ability to import local repositories via Mirror Settings
GHSA-xxhq-69mf-w8cr CVE-2026-52802 MODERATE Gogs has an Open Redirect via redirect_to
GHSA-g2f5-gjr4-qjvm CVE-2026-52805 HIGH Gogs has a Migration Redirect Bypass that Leads to Internal Repository Theft
GHSA-qf6p-p7ww-cwr9 CVE-2026-52806 CRITICAL Gogs vulnerable to RCE via git rebase --exec argument injection in pull request merge
GHSA-vcm5-gvmp-78mp CVE-2026-52807 MODERATE Gogs has DOM-based XSS via Milestone Name on New Issue Page
GHSA-jq8v-rmf6-65jw CVE-2026-52798 HIGH Gogs has Stored XSS in `.ipynb` Preview
GHSA-pm6v-2h4w-4rp2 CVE-2026-52797 HIGH Gogs: Overwriting critical files results in a denial of service
GHSA-3w28-36p9-w929 CVE-2026-52816 MODERATE Gogs's Unauthenticated Jupyter Notebook (ipynb) Sanitizer allows arbitrary data: URIs leading to XSS
GHSA-5c3f-6486-3g7g CVE-2026-52809 MODERATE Gogs's password-reset tokens use account-activation lifetime, ignoring RESET_PASSWORD_CODE_LIVES
GHSA-4565-r4x7-hg8j CVE-2026-52804 MODERATE Gogs Vulnerable to Privilege Escalation via Collaboration Access Mode Validation
GHSA-4j89-2c4f-44c6 CVE-2026-52796 LOW Gogs has DoS in rendering issue index pattern
GHSA-c4v7-xg93-qf8g CVE-2026-47267 HIGH Gogs has SSRF in webhook deliveries
GHSA-w6j9-vw59-27wv CVE-2026-25119 HIGH Gogs has an Authentication Bypass via Unvalidated Reverse Proxy Headers
GHSA-3qq3-668m-v9mj CVE-2025-64719 MODERATE Gogs has a Denial of Service in repository/wiki file listing web pages
GHSA-6vxv-wg6j-5qwp - HIGH Gogs: XSS in .ipynb files renderer due to outdated notebookjs
GHSA-9hxg-w7qf-hh93 CVE-2018-20303 HIGH Gogs Directory Traversal
GHSA-x9p5-w45c-7ffc CVE-2026-26196 MODERATE Gogs: Access tokens get exposed through URL params in API requests
GHSA-vgjm-2cpf-4g7c CVE-2026-26276 HIGH Gogs: DOM-based XSS via milestone selection
GHSA-vgvf-m4fw-938j CVE-2026-26195 MODERATE Gogs: Stored XSS in branch and wiki views through author and committer names
GHSA-v9vm-r24h-6rqm CVE-2026-26194 HIGH Gogs: Release tag option injection in release deletion
GHSA-xrcr-gmf5-2r8j CVE-2026-26022 HIGH Gogs: Stored XSS via data URI in issue comments
GHSA-cj4v-437j-jq4c CVE-2026-25921 CRITICAL Gogs: Cross-repository LFS object overwrite via missing content hash verification
GHSA-fc3h-92p8-h36f CVE-2026-25242 MODERATE Unauthenticated File Upload in Gogs
GHSA-2c6v-8r3v-gh6p CVE-2026-25232 HIGH Gogs has a Protected Branch Deletion Bypass in Web Interface
GHSA-cv22-72px-f4gh CVE-2026-25229 MODERATE Gogs has an Authorization Bypass Allows Cross-Repository Label Modification in Gogs
GHSA-jj5m-h57j-5gv7 CVE-2026-25120 MODERATE Gogs Allows Cross-Repository Comment Deletion via DeleteComment
GHSA-rjv5-9px2-fqw6 CVE-2025-65852 MODERATE Gogs has authorization bypass in repository deletion API
GHSA-26gq-grmh-6xm6 - HIGH Gogs vulnerable to Stored XSS via Mermaid diagrams
GHSA-jp7c-wj6q-3qf2 CVE-2026-24135 HIGH Gogs vulnerable to arbitrary file deletion via Path Traversal in wiki page update
GHSA-mrph-w4hh-gx3g CVE-2026-23633 MODERATE Gogs has arbitrary file read/write via Path Traversal in Git hook editing
GHSA-5qhx-gwfj-6jqr CVE-2026-23632 MODERATE Gogs user can update repository content with read-only permission
GHSA-cr88-6mqm-4g57 CVE-2026-22592 MODERATE Gogs has a Denial of Service issue
GHSA-p6x6-9mx6-26wj CVE-2025-64175 HIGH Gogs Vulnerable to 2FA Bypass via Recovery Code
GHSA-gg64-xxr9-qhjp CVE-2025-64111 CRITICAL Gogs's update .git/config file allows remote command execution
GHSA-mq8m-42gh-wq7r CVE-2025-8110 HIGH Gogs vulnerable to a bypass of CVE-2024-55947
GHSA-phm4-wf3h-pc3r CVE-2024-44625 HIGH Remote Code Execution in Gogs
GHSA-xh32-cx6c-cp4v CVE-2025-47943 MODERATE Gogs XSS allowed by stored call in PDF renderer
GHSA-wj44-9vcg-wjq7 CVE-2024-56731 CRITICAL Gogs allows deletion of internal files which leads to remote command execution
GHSA-mcjj-2fvq-mc3r CVE-2022-32174 CRITICAL Gogs vulnerable to Cross-site Scripting
GHSA-qf5v-rp47-55gg CVE-2024-55947 HIGH Path Traversal in file update API in gogs
GHSA-r7j8-5h9c-f6fx CVE-2024-54148 HIGH Remote Command Execution in file editing in gogs
GHSA-vm62-9jw3-c8w3 CVE-2024-39930 CRITICAL Gogs has an argument Injection in the built-in SSH server
GHSA-9pp6-wq8c-3w2c CVE-2024-39932 CRITICAL Gogs allows argument injection during the previewing of changes
GHSA-ccqv-43vm-4f3w CVE-2024-39931 CRITICAL Gogs allows deletion of internal files
GHSA-m27m-h5gj-wwmg CVE-2024-39933 HIGH Gogs allows argument Injection when tagging new releases
GHSA-958j-443g-7mm7 CVE-2022-1884 CRITICAL OS Command Injection in gogs
GHSA-px5r-fqj6-r2f8 CVE-2018-17031 MODERATE Gogs XSS Vulnerability
GHSA-fg3x-rwq9-74cw CVE-2018-15192 HIGH Gogs and Gitea SSRF Vulnerability
GHSA-gw5h-h6hj-f56g CVE-2022-0871 HIGH Gogs vulnerable to improper PAM authorization handling
GHSA-65f3-3278-7m65 - HIGH Duplicate Advisory: Improper Authorization in Gogs
GHSA-pfvh-p8qp-9ww9 CVE-2022-2024 CRITICAL Gogs OS Command Injection vulnerability
GHSA-mr6h-chqp-p9g2 CVE-2014-8681 MODERATE SQL Injection in gogs.io/gogs
GHSA-67mx-jc2f-jgjm CVE-2022-1986 CRITICAL OS Command Injection in file editor in Gogs
GHSA-994f-7g86-qr56 CVE-2022-1992 CRITICAL Path Traversal in file editor on Windows in Gogs
GHSA-6vcc-v9vw-g2x5 CVE-2022-1993 HIGH Path Traversal in Git HTTP endpoints in Gogs
GHSA-xq4v-vrp9-vcf2 CVE-2022-31038 MODERATE Cross-site Scripting vulnerability in repository issue list in Gogs
GHSA-w689-557m-2cvq CVE-2022-1285 HIGH Server-Side Request Forgery in gogs webhook
GHSA-56j7-2pm8-rgmx CVE-2021-32546 CRITICAL OS Command Injection in gogs
GHSA-pj96-4jhv-v792 - LOW Cross site scripting via cookies in gogs
GHSA-ff28-f46g-r9g8 CVE-2022-1464 MODERATE Cross-site Scripting in Gogs
GHSA-5gjh-5j4f-cpwv CVE-2022-0415 HIGH Unrestricted Upload of File with Dangerous Type in Gogs
GHSA-7v5r-r995-q2x2 CVE-2022-0870 MODERATE SSRF in repository migration
GHSA-q347-cg56-pcq4 - MODERATE SSRF in repository migration
GHSA-cpgw-2wxr-pww3 CVE-2018-15178 MODERATE Open Redirect
GHSA-g6xv-8q23-w2q3 CVE-2014-8682 HIGH SQL Injection in Gogs
GHSA-9hx4-qm7h-x84j CVE-2014-8683 MODERATE Cross-site Scripting in Gogs
GHSA-5r2v-6gm6-vpvh CVE-2019-14544 CRITICAL Insecure Permissions in Gogs
GHSA-4c7m-vv47-7c69 CVE-2020-14958 MODERATE Insecure Permissions in Gogs

CVE-2026-52815 at a Glance

CVE Identifier CVE-2026-52815
GHSA Identifier GHSA-744x-3838-5r56
Severity MODERATE
CVSS v3.1 Base Score N/A
CWE Classification CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Affected Product Gogs.io/gogs
Package Ecosystem Go
Published Date
Last Updated

How to Fix CVE-2026-52815

To remediate this vulnerability, upgrade all affected Gogs.io/gogs dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

gogs.io/gogs fixed: 0.14.3
Upgrade gogs.io/gogs to 0.14.3
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for gogs.io/gogs

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-52815, inspect your project dependencies for Gogs.io/gogs:

inspect dependencies for gogs.io/gogs

Analyze the terminal output to locate any version of Gogs.io/gogs in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.14.3), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, where the product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. In Gogs.io/gogs, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

## Summary Gogs has an unauthenticated information disclosure vulnerability. The `GET /api/v1/orgs/:orgname/teams` endpoint at `internal/route/api/v1/org_team.go:8` returns all teams for any organization without requiring authentication. The route group at `internal/route/api/v1/api.go:380-385` lacks the `reqToken()` middleware, and the `listTeams()` handler performs no authentication check, exposing team IDs, names, descriptions, and permission levels to any unauthenticated caller. ## Affected Versions Gogs (all current versions) ## Vulnerability Details ### Root Cause: Missing reqToken() middleware on org teams route group `internal/route/api/v1/api.go` lines 380-385: ```go // Org teams route group — no reqToken() middleware m.Group("/:orgname", func() { m.Get("/teams", org.ListTeams) // No auth required }, orgAssignment(true)) ``` The `orgAssignment(true)` middleware only loads the organization object — it performs no authentication. The `listTeams()` handler at `org_team.go:8` returns all teams unconditionally: ```go func ListTeams(c *context.APIContext) { org := c.Org.Organization teams, err := database.GetTeamsByOrgID(org.ID) // Returns all teams — no c.IsLogged check, no permission check } ``` Compare with other org endpoints that correctly require authentication: ```go m.Group("/orgs/:orgname", func() { // ... other endpoints ... }, reqToken(), orgAssignment(true, true)) // reqToken() enforces auth ``` ### Attack Chain - Attacker sends `GET /api/v1/orgs/target-org/teams` with no authentication - `orgAssignment(true)` loads the organization but does not check auth - `ListTeams()` queries all teams and returns them - Response includes team IDs, names, descriptions, and permission levels (read/write/admin/owner) ## Proof of Concept ```bash # List all teams in an organization — no authentication needed curl -s "http://TARGET:3000/api/v1/orgs/myorg/teams" | python3 -m json.tool # Expected: 200 OK with full team list # [ # { # "id": 1, # "name": "Owners", # "description": "Admin team", # "permission": "owner" # }, # { # "id": 2, # "name": "backend-devs", # "description": "Backend development team", # "permission": "write" # } # ] ``` ## Impact An unauthenticated attacker can: - Enumerate all teams within any organization, including private/internal teams - Discover team permission levels (read/write/admin/owner), aiding privilege escalation planning - Map organizational structure and identify high-value targets (admin/owner teams) - Harvest team IDs for use in other API calls that may have weaker authorization checks ## Suggested Remediation ```go m.Group("/:orgname", func() { m.Get("/teams", org.ListTeams) }, reqToken(), orgAssignment(true)) ``` Add `reqToken()` middleware to the org teams route group, consistent with other authenticated org endpoints. Additionally, `ListTeams()` should verify the authenticated user is a member of the organization.

CVE-2026-52815 Affected Gogs.io/gogs Versions

1 component(s)
Fixed Versions:
0.14.3
Product / Package Ecosystem Affected Versions Fixed Version
gogs.io/gogs
Go
< 0.14.3
0.14.3

References

Frequently Asked Questions

What is CVE-2026-52815?
CVE-2026-52815 is a security vulnerability in Gogs.io/gogs involving Gogs Vulnerable to Unauthenticated Organization Teams Information Disclosure via API under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor.
Which Gogs.io/gogs versions are affected?
Affected versions include releases prior to 0.14.3 across affected packages: gogs.io/gogs.
What version fixes CVE-2026-52815?
Upgrading to 0.14.3 (or the latest patched release for your respective branch) resolves the vulnerability.
Is gogs.io/gogs affected?
Yes, gogs.io/gogs is affected in releases prior to 0.14.3. Upgrade your dependency to 0.14.3 or later.
What CWE is associated with CVE-2026-52815?
CVE-2026-52815 is classified under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor (The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.).
How can I check Go dependencies for CVE-2026-52815?
Run the dependency tree command: 'inspect dependencies for gogs.io/gogs'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-744x-3838-5r56",
  "modified" : "2026-07-21T13:40:52Z",
  "published" : "2026-06-23T17:13:25Z",
  "aliases" : [ "CVE-2026-52815" ],
  "summary" : "Gogs Vulnerable to Unauthenticated Organization Teams Information Disclosure via API",
  "details" : "## Summary\n\nGogs has an unauthenticated information disclosure vulnerability. The `GET /api/v1/orgs/:orgname/teams` endpoint at `internal/route/api/v1/org_team.go:8` returns all teams for any organization without requiring authentication. The route group at `internal/route/api/v1/api.go:380-385` lacks the `reqToken()` middleware, and the `listTeams()` handler performs no authentication check, exposing team IDs, names, descriptions, and permission levels to any unauthenticated caller.\n\n## Affected Versions\n\nGogs (all current versions)\n\n## Vulnerability Details\n\n### Root Cause: Missing reqToken() middleware on org teams route group\n\n`internal/route/api/v1/api.go` lines 380-385:\n\n```go\n// Org teams route group — no reqToken() middleware\nm.Group(\"/:orgname\", func() {\n    m.Get(\"/teams\", org.ListTeams) // No auth required\n}, orgAssignment(true))\n```\n\nThe `orgAssignment(true)` middleware only loads the organization object — it performs no authentication. The `listTeams()` handler at `org_team.go:8` returns all teams unconditionally:\n\n```go\nfunc ListTeams(c *context.APIContext) {\n    org := c.Org.Organization\n    teams, err := database.GetTeamsByOrgID(org.ID)\n    // Returns all teams — no c.IsLogged check, no permission check\n}\n```\n\nCompare with other org endpoints that correctly require authentication:\n\n```go\nm.Group(\"/orgs/:orgname\", func() {\n    // ... other endpoints ...\n}, reqToken(), orgAssignment(true, true)) // reqToken() enforces auth\n```\n\n### Attack Chain\n\n- Attacker sends `GET /api/v1/orgs/target-org/teams` with no authentication\n- `orgAssignment(true)` loads the organization but does not check auth\n- `ListTeams()` queries all teams and returns them\n- Response includes team IDs, names, descriptions, and permission levels (read/write/admin/owner)\n\n## Proof of Concept\n\n```bash\n# List all teams in an organization — no authentication needed\ncurl -s \"http://TARGET:3000/api/v1/orgs/myorg/teams\" | python3 -m json.tool\n\n# Expected: 200 OK with full team list\n# [\n#   {\n#     \"id\": 1,\n#     \"name\": \"Owners\",\n#     \"description\": \"Admin team\",\n#     \"permission\": \"owner\"\n#   },\n#   {\n#     \"id\": 2,\n#     \"name\": \"backend-devs\",\n#     \"description\": \"Backend development team\",\n#     \"permission\": \"write\"\n#   }\n# ]\n```\n\n## Impact\n\nAn unauthenticated attacker can:\n\n- Enumerate all teams within any organization, including private/internal teams\n- Discover team permission levels (read/write/admin/owner), aiding privilege escalation planning\n- Map organizational structure and identify high-value targets (admin/owner teams)\n- Harvest team IDs for use in other API calls that may have weaker authorization checks\n\n## Suggested Remediation\n\n```go\nm.Group(\"/:orgname\", func() {\n    m.Get(\"/teams\", org.ListTeams)\n}, reqToken(), orgAssignment(true))\n```\n\nAdd `reqToken()` middleware to the org teams route group, consistent with other authenticated org endpoints. Additionally, `ListTeams()` should verify the authenticated user is a member of the organization.",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Go",
      "name" : "gogs.io/gogs"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "0.14.3"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/gogs/gogs/security/advisories/GHSA-744x-3838-5r56"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-52815"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/gogs/gogs/pull/8336"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/gogs/gogs/commit/2ebc0e27069deade992219e10a89fbc44bec8bb9"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/gogs/gogs"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/gogs/gogs/releases/tag/v0.14.3"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-200" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-06-23T17:13:25Z",
    "nvd_published_at" : "2026-06-24T21:16:57Z"
  }
}