Skip to main content

Forgejo EUVDEUVD-2026-113811

| CVE-2026-119546 MEDIUM
Path Traversal (CWE-22)
2026-10-30 VulnCheck GHSA-gx58-cw96-3j3q
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious repository dump
  2. Delivery
    Embed ../ in release.yml DownloadURL/PatchURL
  3. Exploit
    Administrator runs restore-repo on dump
  4. Execution
    Path traversal reads files outside dump dir
  5. Impact
    Sensitive files (e.g. app.ini) imported as attachments

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

Exploitation requires (1) an attacker to supply a crafted repository dump whose release.yml has a DownloadURL or PatchURL field containing ../ traversal sequences, and (2) an administrator to run the restore-repo CLI command against that malicious dump (passive interaction, UI:P; local operation, AV:L). Limiting factors: this is not remotely or network-triggerable and requires no attacker privileges on the instance, but it does require an administrator to be induced to restore an untrusted/attacker-supplied dump - a social-engineering or supply-of-dump precondition that substantially narrows real-world exploitability. Files read are limited to those readable by the Forgejo process, and impact is disclosure only (no write/integrity or availability effect).

Impact

This is a medium-severity information-disclosure flaw (CVSS 4.0 6.8). The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N) is internally consistent with the description: exploitation is local to the restore-repo CLI workflow (AV:L) and requires passive administrator interaction (UI:P) - an admin must choose to restore an attacker-supplied dump - while the attacker needs no privileges on the Forgejo instance itself (PR:N). Impact is confidentiality-only (VC:H, VI:N, VA:N), consistent with reading files such as app.ini (which can expose secrets/tokens). On the decision signals: there is NO CISA KEV listing and NO EPSS score in the provided data, and the vuln.today priority label is 'this_month' (not act_now/emergency), so this is a patch-on-normal-cycle issue rather than an emergency. It is a genuine but bounded risk: real impact (local file disclosure of potentially sensitive config) tempered by a constrained threat model (requires tricking an administrator into restoring a malicious dump). NOTE a cross-source discrepancy: the GHSA advisory included in the input (GHSA-xmj7-xj85-hfc3) describes a DIFFERENT vulnerability - an SSRF (CWE-918) via unsanitized pull_request.yml Head.CloneURL - which the advisory itself states is a separate root cause from this path-traversal issue (fixed in PR #38215); do not treat the SSRF's details as part of this CVE.

Exploit ScenarioDerived

An attacker crafts a repository dump whose release.yml contains a DownloadURL or PatchURL with ../ sequences (e.g. ../../../../etc/passwd or a path to app.ini) and gets an administrator to restore it via restore-repo. When restored, the traversal causes files outside the dump directory to be imported as release attachments, disclosing their contents. A technical write-up and a regression test demonstrating the traversal are publicly referenced, though no verified working weaponized exploit is confirmed in the input.

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

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

Alert me

AnalysisAIv1 – Oct 30, 2026

Forgejo's restore-repo CLI can be induced to read files outside the dump directory - including repository configuration such as app.ini - and import them as release attachments when an administrator restores a crafted dump. The flaw affects Forgejo through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through 17.0.1; exploitation requires local operation of restore-repo and administrator interaction (CVSS 4.0 6.8, confidentiality impact only). Vendor patch availability is reported; the supplied data does not confirm active exploitation or working public exploit code, and a public research write-up is referenced.

RemediationAI

Vendor-released patch: available per vendor advisory; the supplied data does not state an exact fixed version. Apply the Forgejo update containing the restore.go fix from Gitea PR #38215 (util.FilePathJoinAbs for DownloadURL/PatchURL, with a guard for empty PatchURL). If an immediate update is not possible, do not run restore-repo against untrusted or attacker-supplied dumps, inspect release.yml entries for DownloadURL/PatchURL values containing ../ or absolute paths and reject such dumps, and run restore-repo under an account whose read access is limited to the dump directory, because the flaw can disclose any file readable by the Forgejo process. The separate SSRF advisory GHSA-xmj7-xj85-hfc3 for Head.CloneURL requires separate review.

Affected VersionsENISA

Forgejo 0 ≤15.0.11
Forgejo 16.0.0 ≤16.0.7
Forgejo 17.0.0 ≤17.0.1

Affected Packages

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

CWE-22 path traversal in the Go implementation of services/migrations/restore.go. The restorer builds file:// URLs from attacker-controlled DownloadURL and PatchURL YAML values by joining r.baseDir with those paths. The supplied patch PR #38215 replaces filepath.Join with util.FilePathJoinAbs and adds an empty-string guard for PatchURL; the accompanying test demonstrates that ../../../../../../etc/passwd is confined inside baseDir after the fix. This is an information-disclosure issue: the vulnerable flow reads files readable by the Forgejo process and attaches them to releases, with no integrity or availability impact in the assessed vector. The independent assessment maps to CVSS 3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N. A related advisory, GHSA-xmj7-xj85-hfc3, describes a separate SSRF in restore-repo via pull_request.yml Head.CloneURL; it explicitly identifies a different root cause from this DownloadURL/PatchURL traversal and is not part of CVE-2026-119546.

Know when Forgejo 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 (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Local restore-repo operation needs an admin to actively restore an attacker-supplied dump (AV:L, UI:R); attacker needs no account privileges (PR:N); yields sensitive file disclosure only, so C:H and I:N/A:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Forgejo through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through 17.0.1 contains a path traversal vulnerability in restore-repo that allows attackers to read files outside the dump directory via crafted asset paths. Attackers can supply a dump whose release.yml DownloadURL or PatchURL contains ../ sequences, importing files like app.ini as release attachments when an administrator restores it.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Medium
self-hosted git forge with moderate adoption among self-hosters, not ubiquitous
Data Quality
4 sources
Confidence: Medium

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.1%
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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.

CVE-2026-89094 CRITICAL
9.9 Sep 10

Remote code execution in Forgejo before 16.0.4 allows an authenticated user who can supply a template repository to run

CVE-2025-68937 CRITICAL
9.5 Dec 26

Forgejo before 13.0.2 (and the 11 LTS line before 11.0.7) mishandles out-of-repository symlink destinations when generat

CVE-2023-49946 CRITICAL
9.1 Dec 03

In Forgejo before 1.20.5-1, certain endpoints do not check whether an object belongs to a repository for which permissio

CVE-2023-49947 HIGH
7.5 Dec 03

Forgejo before 1.20.5-1 allows 2FA bypass when docker login uses Basic Authentication. Rated high severity (CVSS 7.5), t

CVE-2026-119545 MEDIUM
6.9 Oct 30

Unauthenticated blind server-side request forgery in Forgejo (through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through

CVE-2026-82556 LOW POC
2.1 Aug 30

Server-side request forgery in Forgejo up to 15.0.4 allows authenticated users to bypass the repository migration IP all

CVE-2026-59102 LOW POC
2.1 Jul 02

Stored XSS in Forgejo before 15.0.3 allows authenticated users to execute arbitrary JavaScript in other users' browsers

CVE-2026-119547 MEDIUM
5.3 Oct 30

Forgejo through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through 17.0.1 lets an authenticated user with a read:user-sc

CVE-2023-49948 MEDIUM
5.3 Dec 03

Forgejo before 1.20.5-1 allows remote attackers to test for the existence of private user accounts by appending .rss (or

CVE-2026-90679 MEDIUM
4.3 Sep 13

Identity spoofing in Forgejo's ActivityPub federation allows a remote attacker who controls any single valid ActivityPub

CVE-2026-89151 LOW
3.5 Sep 11

Restricted API token authorization bypass in Forgejo before 16.0.4 (and before 15.0.8 on the 15.x branch) allows authent

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