Skip to main content

Gitea CVE-2026-110311

| EUVDEUVD-2026-103989 MEDIUM
Information Exposure (CWE-200)
2026-10-18 Gitea
4.3
CVSS 3.1 · Vendor: Gitea
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain account with draft-release permission
  2. Exploit
    Call draft release creation API
  3. Execution
    Server queries attachments against release ID 0
  4. Impact
    Harvest cross-repo attachment metadata

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold an authenticated account with permission to create a draft release in at least one repository on the target Gitea instance (the create-draft-release API path is the trigger). Exploitation is limited to that authenticated, write-capable context and to default versions in the 1.22.0 through 28.1.0 range; instances on 28.2.0 or later are not affected. The leak is bounded to attachment METADATA only (file name, UUID, upload time, size, download count) of issue/comment attachments and abandoned uploads - not the attachment file contents themselves - so impact is confidentiality-limited and does not expose repository code or write/delete capability.

Impact

This is a genuine but low-severity information-disclosure issue, and the multiple signals are consistent rather than conflicting. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, base 4.3) describes a remotely reachable, low-complexity flaw that requires an authenticated account (PR:L) and leaks only limited confidentiality (C:L) with no integrity or availability impact - matching the CWE-200 classification and the description precisely. The EPSS score of 0.16% (4th percentile) and CISA SSVC decision (Exploitation: none, Automatable: no, Technical Impact: partial) reinforce low real-world urgency, and the vulnerability is NOT in CISA KEV. No public exploit was identified; the only source code available is the vendor patch (PR #39743/#39752), which is a fix, not a weaponized POC. The net picture is a real but minor priority: it exposes attachment metadata (not file contents) to users who already hold write-level access on the instance, so it is a lateral metadata-leak concern rather than a critical breach. One note for verification: the patch bundle in PR #39743 also contains an unrelated label-deletion authorization refactor (DeleteLabel split into DeleteRepoLabel/DeleteOrgLabel); the attachment leak described by this CVE corresponds specifically to the models/repo/release.go change guarding against releases with ID 0.

Exploit ScenarioDerived

An authenticated user with permission to create a draft release in any single repository on a Gitea instance calls the draft-release creation API. Because the server built the attachments query from a release object whose ID was 0, the response matched every attachment not linked to a release, returning the metadata (file name, UUID, upload time, size, download count) of issue and comment attachments from private repositories the user cannot read, plus abandoned uploads. No public exploit code is known, but the attack requires only a normal authenticated API call against the default configuration.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Information disclosure in Gitea 1.22.0 through 28.1.0 allows an authenticated low-privileged user who can create a draft release to obtain attachment metadata from repositories they cannot read, as well as metadata for abandoned uploads. The draft-release API path builds an assets list from an unsaved release whose ID is 0, causing the attachment lookup to return file name, UUID, upload time, size, and download count, but not attachment contents. CISA SSVC reports exploitation: none, no public exploit was identified at time of analysis, and EPSS is 0.16% (4th percentile).

RemediationAI

Vendor-released patch: upgrade Gitea to 28.2.0 or later. Apply the official release from https://github.com/go-gitea/gitea/releases/tag/v28.2.0 and review advisory GHSA-8j56-f865-gqq2; the upstream fixes are in PR 39743 and PR 39752. If immediate upgrade is not possible, restrict permission to create draft releases to trusted maintainers and audit API tokens with repository write scope, recognizing that this reduces exposure but does not fix the underlying query for users who retain release-creation permission. Monitor API logs for draft-release creation by low-privileged accounts. A reverse-proxy rule can block the draft-release API path for untrusted users as a temporary measure, but it will break legitimate release automation and must be scoped carefully.

Affected VersionsENISA

Gitea 1.22.0 ≤28.1.0

Affected Packages

euvd gitea no fix

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, and releases can have attachments that share a data model with issue and comment attachments. The vulnerable code in models/repo/release.go (GetReleaseAttachments) constructed a SQL IN clause from the IDs of the supplied Release objects. When the API created a draft release, the Release object had not yet been persisted and therefore had ID 0; including 0 in the IN clause caused the query to match every attachment not linked to a real release, including issue/comment attachments and abandoned uploads. This is CWE-200 exposure of sensitive information because the query did not exclude unsaved releases or constrain results to the authenticated user's readable repositories. The provided PR diff shows the fix: releases with ID 0 are skipped, and if no valid IDs remain the function returns without querying. The same PR also separates label deletion into DeleteRepoLabel and DeleteOrgLabel with explicit owner conditions, which is adjacent authorization hardening rather than the attachment metadata leak itself.

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

Vendor (Gitea) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Remote authenticated API call (AV:N, AC:L, PR:L) needs no user interaction; it leaks only limited cross-repo metadata, so C:L with I:N/A:N and unchanged scope.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Gitea).

CVSS VectorVendor: Gitea

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
CVSS changed
Oct 19, 2026 - 21:24 NVD
4.3 (None) 4.3 (MEDIUM)
CVE Published
Oct 18, 2026 - 18:57 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Creating a draft release through the API returned an assets list that was built from a release without an ID, which matched every attachment that was not linked to a release. A user who could create a draft release in a repository therefore received the metadata (file name, UUID, upload time, size and download count) of issue and comment attachments of repositories they could not read, and of abandoned uploads.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
popular self-hosted Git service, common but not in every environment
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Gitea

View all
CVE-2026-60004 CRITICAL POC
9.8

Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi

CVE-2026-27771 HIGH POC
8.2 Jul 03

Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r

CVE-2022-30781 HIGH POC
7.5 May 16

Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp

CVE-2020-14144 HIGH POC
7.2 Oct 16

The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir

CVE-2024-6886 CRITICAL POC
10.0 Aug 06

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea

CVE-2026-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

CVE-2026-20896 CRITICAL POC
9.8 Jul 03

Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any

CVE-2026-59774 CRITICAL POC
9.8

Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by

CVE-2026-58053 CRITICAL POC
9.4 Jun 28

Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec

CVE-2019-11229 HIGH POC
8.8 Apr 15

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

CVE-2026-57894 HIGH POC
8.5 Jul 21

Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica

CVE-2026-24791 HIGH POC
8.1 Jun 17

Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy