Skip to main content
VulnerabilityPublished

CVE-2026-58417: Gitea · REST API exposes organization membership of private organizations to public

Affects gitea.devSource GCVE Database

0
Authoritative record:CVE-2026-58417· High 7.5

Not known to be exploited · CVSS 7.5 High : upgrade to 1.27.0 soon.

Data as of 26 Oct 2026, 17:16 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 40% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 1.27.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Exploitation evidence

t = 0 is the CVE’s publication on cve.org

  1. Disclosed: evidence found.

    CVE published 13 Aug 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: evidence found.

    CISA SSVC: proof of concept public

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

Timeline

  1. CVE ID reserved

    by Gitea Limited

    , 44 days before disclosure

  2. CVE published

    on cve.org

    , t = 0

  3. CISA SSVC assessment

    proof of concept public

    , 25 hours after disclosure

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CISA SSVC, the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade gitea.dev to 1.27.0.

Affected software

ProductAffectedFixed in
Gogitea.devAffected
  • <1.27.0
Fixed in
  • 1.27.0

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

Description

### Summary The endpoint "/orgs/{org}/public_members/{username}" + GET exposes organization membership of public members in a private organization. ### PoC 1. Spin up the nightly container of Gitea. 2. Perform the default installation. 3. Register a new user (let's call this user "user1"). 4. Create a new organization with "private" visibility. We will refer to this organization as "user1org". 5. Make the user "user1" inside the organization visible. 6. Log out and register a new user ("user2"). 7. Create an access token for "user2" with full access to the API. 8. Use the endpoint "/orgs/{org}/public_members/{username}" + GET with the correct username of "user1", organization name, and access token of "user2" to query whether "user1" is a member of the organization. The following curl command demonstrates the usage: curl -X 'GET' \ 'http://localhost:4700/api/v1/orgs/user1org/public_members/user1' \ -H 'accept: application/json' \ -H 'authorization: token <user2-token>' 9. You will receive status code 204, which leaks the organization membership. ### Impact The vulnerability discloses organization membership. An information that is not accessible via the web app (the organization is hidden, and therefore, the organization membership on the user's profile page is also hidden).

References

Community reviews

Loading reviews…