Skip to main content

Gitea CVE-2026-58427

| EUVDEUVD-2026-58155 HIGH
Information Exposure (CWE-200)
2026-07-21 https://github.com/go-gitea/gitea GHSA-prr9-9mp4-5gp2
7.5
CVSS 3.1 · Vendor: https://github.com/go-gitea/gitea
Share

Severity by source

Vendor (https://github.com/go-gitea/gitea) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI
6.5 MEDIUM

Authentication is explicitly required per the description and PoC, so PR:L not PR:N; only confidentiality is impacted via member list disclosure.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat
6.5 MEDIUM
qualitative

Primary rating from Vendor (https://github.com/go-gitea/gitea).

CVSS VectorVendor: https://github.com/go-gitea/gitea

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

5
Analysis Updated
Aug 14, 2026 - 18:40 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Aug 14, 2026 - 18:22 vuln.today
cvss_changed
CVSS changed
Aug 14, 2026 - 18:22 NVD
7.5 (HIGH)
Source Code Evidence Fetched
Jul 22, 2026 - 02:45 vuln.today
Analysis Generated
Jul 22, 2026 - 02:45 vuln.today

DescriptionCVE.org

Summary

PR #38145 fixed ListPublicMembers and IsPublicMember but missed ListMembers. Any authenticated user can enumerate ALL members (not just public ones) of a private organization.

Affected Versions

<= v1.26.4 (latest) and main branch

Root Cause

routers/api/v1/org/member.go - ListMembers():

// Missing check: if !organization.HasOrgOrUserVisible(ctx, ctx.Org.Organization.AsUser(), ctx.Doer) { ctx.APIErrorNotFound() return }

Proof of Concept

Setup: privateorg (private), alice = member, bob = outsider

Bob lists ALL members of private org

curl -s "http://gitea/api/v1/orgs/privateorg/members" \ -H "Authorization: token BOB_TOKEN"

Result: HTTP 200

[{"login":"alice","email":"alice@test.com",...}]

Expected: HTTP 404

Note

This is an incomplete fix variant of PR #38145. That PR fixed public_members endpoints only. ListMembers (/orgs/{org}/members) remains unpatched.

Fix

Add to ListMembers(): if !organization.HasOrgOrUserVisible(ctx, ctx.Org.Organization.AsUser(), ctx.Doer) { ctx.APIErrorNotFound() return }

AnalysisAI

Private organization member enumeration in Gitea allows any authenticated user to retrieve the full member roster - including emails - of a private organization via the /api/v1/orgs/{org}/members endpoint. The root cause is an incomplete fix: PR #38145 added visibility guards to ListPublicMembers and IsPublicMember but omitted the same guard from ListMembers, leaving a single missing HasOrgOrUserVisible check in routers/api/v1/org/member.go. Proof-of-concept code is publicly available in the GitHub Security Advisory; no active exploitation has been confirmed in CISA KEV, and the EPSS score of 0.16% (5th percentile) indicates low probability of widespread automated exploitation.

Technical ContextAI

Gitea is a self-hosted, open-source Git service written in Go (pkg:go/gitea.dev). The affected code path is the ListMembers() handler in routers/api/v1/org/member.go, which services GET /api/v1/orgs/{org}/members. The root cause is CWE-200 (Exposure of Sensitive Information to Unauthorized Actor): the handler processes the request without first calling organization.HasOrgOrUserVisible() to verify that the requesting user has permission to see the organization's full membership. A parallel fix for the public_members endpoints was applied in PR #38145, confirming the intended access-control pattern exists and is functional - it was simply never ported to the ListMembers route. The leaked response body includes member logins and email addresses per the PoC output.

RemediationAI

Upgrade to Gitea v1.27.0 or later, which applies the missing HasOrgOrUserVisible() guard to ListMembers() in routers/api/v1/org/member.go. The patch is confirmed in the GitHub Security Advisory GHSA-prr9-9mp4-5gp2 (https://github.com/go-gitea/gitea/security/advisories/GHSA-prr9-9mp4-5gp2) and the official release blog at https://blog.gitea.com/gitea-1.27.0-is-released/. If an immediate upgrade is not possible, a compensating control is to restrict API access to the /api/v1/orgs/*/members endpoint via a reverse proxy (e.g., block or require additional authentication on that path pattern in nginx/Caddy); note this may break legitimate tooling that calls the members API. Auditing Gitea access logs for unexpected calls to /api/v1/orgs/{org}/members from accounts not belonging to those organizations can help detect exploitation attempts retroactively.

More in Gitea

View all
CVE-2026-60004 CRITICAL POC
9.8

Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi

CVE-2026-27771 HIGH POC
8.2 Jul 03

Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r

CVE-2022-30781 HIGH POC
7.5 May 16

Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp

CVE-2020-14144 HIGH POC
7.2 Oct 16

The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir

CVE-2024-6886 CRITICAL POC
10.0 Aug 06

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea

CVE-2026-20896 CRITICAL POC
9.8 Jul 03

Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any

CVE-2026-58053 CRITICAL POC
9.4 Jun 28

Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec

CVE-2019-11229 HIGH POC
8.8 Apr 15

models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL settings, leading to rem

CVE-2026-57894 HIGH POC
8.5 Jul 21

Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica

CVE-2026-24791 HIGH POC
8.1 Jun 17

Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran

CVE-2020-13246 HIGH POC
7.5 May 20

An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita

CVE-2022-0905 HIGH POC
7.1 Mar 10

Missing Authorization in GitHub repository go-gitea/gitea prior to 1.16.4. Rated high severity (CVSS 7.1), this vulnerab

Vendor StatusVendor

SUSE

Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected

Share

CVE-2026-58427 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy