Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with repository release write access
-
ExploitObtain target attachment UUID in same repo
-
ExecutionLink attachment to a release via API
-
ImpactExpose metadata, rename, or delete file
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | The attacker must (1) hold write access to the releases of the target repository (PR:L / authenticated collaborator) and (2) already know the UUID of an existing attachment belonging to an issue or comment within that same repository. Exploitation is specifically the release attachment-linking operation (AddReleaseAttachments), which prior to v28.2.0 validated the attachment's repository and release association but failed to check whether the attachment was already linked to an issue or comment. Limiting factors: UUIDs are random and non-enumerable, so the attacker needs the exact UUID (typically via a leaked link or prior API access); the flaw is confined to the same repository; and only metadata (name, size, download count) is exposed plus rename/delete - no file content read beyond metadata is implied. |
| Impact | This is a genuinely medium/low priority issue, not an inflated high-CVSS item. The CVSS 3.1 base score of 6.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) reflects an authenticated-user authorization flaw with only Low impact to each of confidentiality, integrity and availability, consistent with CWE-639 (Authorization Bypass Through User-Controlled Key / IDOR). Every exploitation signal points to low real-world urgency: EPSS is 0.15% (4th percentile), there is no CISA KEV listing (confirmed actively exploited: NO), and no public exploit identified at time of analysis. The attack requires an already-authenticated user holding write access to a repository's releases (PR:L), which bounds the attacker population to trusted collaborators rather than anonymous internet attackers. A key mitigating factor NOT fully captured by the AC:L rating is that the attacker must already know the random UUID of a target attachment in that repository - UUIDs are not enumerable, so AC:L is arguably optimistic and real exploitation depends on UUID leakage. The vector's AV:N is correct (the action occurs over the Gitea web/API interface), and C:L/I:L/A:L correctly map to disclosure of file metadata, renaming, and deletion. Note the input Tag 'Authentication Bypass' conflicts with the actual class of flaw: the user is already authenticated (PR:L), so this is an authorization/IDOR issue, not authentication bypass. Overall: patch on normal cadence; not an emergency. |
| Exploit ScenarioDerived | A collaborator with write access to a repository's releases learns the UUID of an attachment that belongs to an issue or comment in the same repository (e.g. from a leaked link or API response). They call the release attachment-linking API with that UUID, causing the file to be linked to a release they control. They can now view the file's name, size and download count, and rename or delete the file. No public exploit code is known, and exploitation is bounded by needing the specific UUID and repo write access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Gitea before 28.2.0 allows a user with write access to a repository's releases to link an existing issue or comment attachment into a release by supplying its UUID, because the release attachment-linking routine validated the repository and release association but not whether the attachment was already bound to an issue or comment. This exposes the attachment's file name, size and download count and lets the attacker rename or delete it. The flaw is limited to the same repository and requires knowledge of a non-enumerable UUID, and no public exploit or active exploitation has been identified at time of analysis (EPSS ~0.15%).
RemediationAI
Upgrade to Gitea 28.2.0 or later, which contains the fix from PRs 39839 and 39847 as described in advisory https://github.com/go-gitea/gitea/security/advisories/GHSA-cwq7-782w-pxcc; vendor-released patch: 28.2.0. If upgrading cannot be done immediately, reduce the population holding release write permission on repositories containing sensitive issue attachments, since exploitation requires that privilege plus knowledge of a specific attachment UUID; note this is only a partial control because legitimate release managers are exactly the users who retain the capability. Rotating or avoiding distribution of attachment URLs (which embed UUIDs) in build logs, chat and public tickets lowers the likelihood of a UUID leaking, at the cost of disrupting normal file-sharing workflows. Auditing release attachment lists for files that should belong to issues, and monitoring renames/deletions of attachments, can detect attempts but does not prevent them.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Gitea is a self-hosted Git service written in Go; repository attachments (issue/comment/release files) are stored in a shared attachment table keyed by random UUID and discriminated by IssueID, CommentID and ReleaseID foreign keys. The vulnerable function AddReleaseAttachments in models/repo/release.go resolved attachments by UUID and checked that they belonged to the same repository and had no prior ReleaseID, but never rejected attachments already tied to an issue or comment (CWE-639, authorization bypass via user-controlled key). As a result, an attachment could effectively belong to both an issue and a release, and release-level operations (metadata display, rename, delete) then applied to a file the attacker did not own. The upstream fix rejects any attachment whose IssueID, CommentID or ReleaseID is already set, and also guards GetAttachmentsByIssueID against issue ID 0 matching every issue-less attachment; accompanying PR changes add mustNotBeArchived checks and a principal-key type filter in SSH key lookup.
Know when Gitea gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Authenticated collaborator with release write access (PR:L) acts over the API (AV:N); metadata disclosure, rename and delete give C/I/A:L; needing a known UUID is a limiting factor but not clearly AC:H.
Primary rating from Vendor (Gitea).
CVSS VectorVendor: Gitea
Lifecycle Timeline
2DescriptionCVE.org
Adding attachments to a release checked the repository and release of an attachment but not whether it was already linked to an issue or comment. A user with write access to the releases of a repository, who knew the UUID of an attachment in that repository, could link it to a release. This exposed the file name, size and download count of the attachment through the release and allowed the user to rename or delete it.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi
Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r
Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir
Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea
Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us
Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any
Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by
Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec
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
Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica
Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran
EUVD-2026-103991
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB