Junglewise Threat Intelligence

CVE-2026-58445: Gitea cross-repository label enumeration oracle in DeleteIssueLabel API

CVE-2026-58445 · Severity: low · CVSS 3.1 · Published 2026-07-21

Technologies: code.gitea.io/gitea (Go), Gitea, gitea.dev (Go). Vendors: Go, Gitea.

Executive brief

Gitea is an open-source platform for hosting software development projects. A flaw in its API allows an authorized user to determine if specific label IDs exist in other private repositories or organizations they do not have permission to access. While this does not allow the attacker to see the content of the labels or modify any data, it enables them to map out the existence and volume of labels across the entire platform.

Technical details

The Gitea API endpoint `DELETE /repos/{owner}/{repo}/issues/{index}/labels/{id}` is vulnerable to an information disclosure oracle. The root cause is that the `DeleteIssueLabel` handler uses a global, unscoped database lookup (`GetLabelByID`) without verifying that the requested label ID belongs to the repository or organization specified in the URL. Because the API returns a 204 status if the ID exists anywhere on the instance and a 422 status if it does not, an authenticated attacker can enumerate the instance-wide label population. Since label IDs are sequential auto-incrementing integers, this allows for cross-tenant existence probing. No cross-repository write occurs because the downstream service only attempts to remove the label from the specific issue in the attacker's own repository. The issue is fixed in version 1.27.0.

Affected products

  • Gitea Gitea < 1.27.0

Timeline

  • 2026-07-13: disclosed: Initial report to Gitea
  • 2026-07-21: advisory: GitHub Advisory published

References

Related threats