CVE-2026-58432: Gitea: draft release attachment disclosure via missing web authorization
Gitea’s draft-release access control is enforced only on the API release endpoints (/api/v1/repos/{owner}/{repo}/releases/{id} and its /assets/... sub-routes) but not on the web-level UUID-based attachment endpoints (/attachments/{uuid}, /{owner}/{repo}/attachments/{uuid}, /{owner}/{repo}/releases/attachments/{uuid}). Anyone (including unauthenticated callers) who has, learns, or otherwise obtains the UUID of an attachment belonging to a draft release can download its full contents, despite the draft release itself being correctly hidden from listings and direct-by-ID API lookups.
The browser_download_url field returned by the API (visible to anyone with write access to the repo) embeds the UUID. Forwarding this URL by email, log scrape, browser history, screenshot, or any side channel grants any recipient unauthenticated access to the attachment, indefinitely. This is the identical insider-leak threat model that Gitea fixed on the API surface in PR #36659 (CVE-2026-27660, Feb 2026) by adding canAccessReleaseDraft checks. The web mirror was missed.
References
- github.com/advisories/GHSA-q9pg-jj6x-j9p6
- github.com/go-gitea/gitea/commit/ab10e37acf7fabf7829a485cc3e13d118638a856
- github.com/go-gitea/gitea/commit/f7fd51022495737cf960b8c4053a27d69148f664
- github.com/go-gitea/gitea/pull/38318
- github.com/go-gitea/gitea/pull/38325
- github.com/go-gitea/gitea/releases/tag/v1.27.0
- github.com/go-gitea/gitea/security/advisories/GHSA-q9pg-jj6x-j9p6
- nvd.nist.gov/vuln/detail/CVE-2026-58432
Code Behaviors & Features
Detect and mitigate CVE-2026-58432 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →