CVE-2026-20912: Gitea: Cross-Repository Authorization Bypass via Release Attachment Linking Leads to Private Attachment Disclosure
Gitea does not properly validate repository ownership when linking attachments to releases. An attachment uploaded to a private repository could potentially be linked to a release in a different public repository, making it accessible to unauthorized users.
Security readout for executives and security teams
Plain-English summary
A Gitea authorization flaw could expose files attached in private repositories by allowing them to be linked from a public release. For organizations using Gitea to store private build artifacts, releases, or customer code, this is a serious confidentiality risk. The provided data rates it critical, but version impact details are incomplete.
Executive priority
Treat this as urgent for any Gitea environment holding private code, release artifacts, credentials, or customer deliverables. Prioritize version confirmation and patching because the impact is private data disclosure through a public access path.
Technical view
Gitea failed to properly validate repository ownership when linking release attachments. A private-repository attachment could potentially be associated with a release in another public repository, making it available to unauthorized users. The CVSS 3.1 score is 9.1 with network access, low complexity, no privileges, and no user interaction.
Likely exposure
Exposure is most likely on Gitea instances that host both private repositories with attachments and public repositories with releases. The bundle does not provide reliable affected version ranges; it lists an anomalous version value of "0" and defaultStatus "unaffected", so confirm against the vendor advisory.
Exploitation context
The source bundle does not report active exploitation, and KEV is false. The vulnerability appears remotely reachable and low complexity based on CVSS, but no exploit status, public exploit, or observed attacks are established by the provided sources.
Researcher notes
The key control failure is repository ownership validation during attachment-to-release linking. Evidence supports CWE-283, CWE-284, and CWE-639 themes. The public bundle names patch PRs and v1.25.4 materials, but it does not clearly enumerate affected versions or exploitation in the wild.
Mitigation direction
Review the Gitea GHSA and v1.25.4 release notes for fixed-version applicability.
Upgrade affected Gitea deployments to the vendor-fixed release.
Restrict public release creation and attachment workflows until patched.
Audit private repository release attachments for sensitive content.
Monitor Gitea logs for unusual release attachment access patterns.
Validation and detection
Inventory all self-hosted Gitea instances and record exact versions.
Check whether instances host private repositories with release attachments.
Check whether public repositories and releases are enabled on the same instance.
Confirm the applied version contains fixes from PRs #36320 and #36355.
Review access logs for unexpected downloads of private attachment paths.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-283: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
CWE-284: Authorization and privilege behavior lookup
Authorization weaknesses can support privilege escalation and valid-account review, depending on exploit path. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
9Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-283 · source CWE mapping
Unverified Ownership
Unverified Ownership represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Access Control represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Authorization Bypass Through User-Controlled Key represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.