Skip to main content

Gitea EUVDEUVD-2026-41641

| CVE-2026-28705 MEDIUM
Path Traversal (CWE-22)
2026-07-03 Gitea GHSA-7jvx-g65v-r899
5.3
CVSS 3.1 · Vendor: Gitea
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Gitea with repository write access
  2. Delivery
    Create release with path-traversal tag or asset name
  3. Exploit
    Wait for or socially trigger a dump/migration of the repository
  4. Execution
    filepath.Join() in dump.go processes malicious name without sanitization
  5. Impact
    Files written outside the intended dump output directory

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Two specific conditions must be met: first, the attacker must possess authenticated write access to a Gitea repository in order to create a release with a malicious tag name or asset name containing path traversal sequences; second, a dump or migration operation must be separately triggered against that repository - this is not part of normal repository browsing or API interaction and typically requires an administrator or automation to invoke it. The CVSS PR:N assignment is inconsistent with the authentication requirement for creating Gitea releases (contributor-level write access is required at minimum); this discrepancy is unresolved. Exploitation is strictly scoped to the dump and migration workflow - the standard repository hosting, code review, issue tracking, and CI/CD features are unaffected. The filesystem impact is further constrained to paths accessible under the OS user running the Gitea dump process.

Impact

The NVD-assigned CVSS 5.3 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) classifies this as a moderate-severity, network-accessible, unauthenticated issue, but the PR:N and UI:N assignments conflict with the practical exploitation requirements: creating releases in Gitea requires repository write access (authenticated), and a dump operation must be separately triggered by another actor - this discrepancy is unresolved and should be verified with the vendor. EPSS at 0.18% (8th percentile) indicates very low observed exploitation probability, consistent with SSVC Exploitation: none and Technical Impact: partial. SSVC flags Automatable: yes, meaning that if malicious repositories exist on a target instance, a scanner could probe dump endpoints at scale; however, real-world risk is constrained to organizations actively using Gitea's dump or migration workflows. The vulnerability does not affect normal repository browsing, code review, or CI/CD operations. Overall, this warrants routine patching rather than emergency response - EPSS, KEV absence, and SSVC all align on low near-term exploitation risk.

Exploit ScenarioDerived

An authenticated attacker with repository write access creates a Gitea release whose tag name or asset name contains a path traversal sequence such as '../../var/spool/cron/attacker'. When an administrator or automated backup process subsequently triggers a repository dump against that repository, Gitea's dump.go constructs the output path using the malicious string, potentially writing dump artifacts to an attacker-chosen location on the server filesystem. No public proof-of-concept has been identified at the time of analysis.

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 – Jul 22, 2026

Path traversal in Gitea's release asset dump functionality (all versions before 1.25.5) allows attackers who can create releases with malicious tag or asset names to influence where dump output files are written on the server filesystem. The root cause - confirmed by reviewed PR diffs - is that dump.go passed user-controlled release.TagName and asset.Name directly into filepath.Join() without sanitization. No public exploit or active exploitation has been identified; EPSS is 0.18% (8th percentile) and SSVC confirms exploitation status as none.

RemediationAI

Upgrade to Gitea version 1.25.5 or later; this is a vendor-released patch confirmed by the official release tag and blog post. The fix is implemented via PRs #36799 (https://github.com/go-gitea/gitea/pull/36799) and #36839 (https://github.com/go-gitea/gitea/pull/36839), both of which replace user-controlled names with UUID strings in dump path construction. For organizations unable to patch immediately, restricting or disabling access to Gitea's repository dump and migration endpoints is the most targeted compensating control, though this will impact backup and repository transfer workflows. Additionally, auditing existing repositories for release tag names and asset names containing path traversal patterns (e.g., sequences with '../' or absolute path prefixes) can identify prior exposure before patching.

Affected VersionsENISA

Gitea Open Source Git Server 0 <1.25.5

Affected Packages

go code.gitea.io/gitea fix: 1.25.5
euvd gitea_open_source_git_server fix: 1.25.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerable code resides in services/migrations/dump.go, where Gitea constructs filesystem paths for dumped release assets using filepath.Join('release_assets', release.TagName) and filepath.Join(attachDir, asset.Name). Because TagName and asset.Name are user-supplied strings never validated for path traversal sequences such as '../', a specially crafted name can redirect dump output outside the intended directory. The affected product is Gitea Open Source Git Server (CPE: cpe:2.3:a:gitea:gitea_open_source_git_server:*:*:*:*:*:*:*:*) in all versions from 0 up to 1.25.5. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal), a classic failure to sanitize user input before using it in filesystem operations. The upstream fix, confirmed via PRs #36799 and #36839, replaces both TagName and asset.Name with uuid.New().String() values, severing the link between user-controlled input and file paths entirely.

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 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.6 MEDIUM

Creating releases requires authenticated write access (PR:L); a separate actor must trigger the dump (UI:R); path traversal affects both file write destination (I:L) and potential exposure of adjacent content (C:L).

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

Primary rating from Vendor (Gitea).

CVSS VectorVendor: Gitea

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

DescriptionCVE.org

Gitea versions before 1.25.5 use release tag names and asset names as filesystem path components when dumping release assets, allowing specially crafted names to affect dump output paths.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular self-hosted Git platform used widely by developers and enterprises
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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-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

CVE-2020-13246 HIGH POC
7.5 May 20

An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita

Vendor StatusVendor

SUSE

Severity: Moderate

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