Skip to main content

Forgejo EUVDEUVD-2026-68278

| CVE-2026-82556 LOW
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-30 VulDB GHSA-qcr2-8wjw-w786
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Obtain authenticated Forgejo account
  2. Delivery
    Craft migration URL with attacker-controlled hostname
  3. Exploit
    Submit repository migration request
  4. Execution
    DNS rebinding causes net.LookupIP to return allowlisted IP at check time
  5. Persist
    Actual HTTP request resolves to internal IP, bypassing allowlist
  6. Impact
    Server fetches internal resource and returns data to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

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

Exploitation Conditions

Exploitation requires a valid authenticated user session on the target Forgejo instance (CVSS PR:L). The vulnerable path is specifically triggered by initiating a repository migration - the attacker must have permission to use the migration feature, which is available to regular authenticated users by default. The attacker must also control a DNS-resolvable hostname to stage the DNS rebinding payload. Exploitation is constrained by: (1) authentication - unauthenticated external attackers cannot trigger the path without first obtaining an account, which is trivial if self-registration is enabled but a meaningful barrier if registration is invite-only or admin-controlled; (2) the migration feature must be enabled and not restricted to administrators only; (3) the Forgejo server must have network reachability to the internal target for the SSRF to yield useful data. Instances where migration is admin-only or where the server is network-isolated from sensitive internal resources are significantly less exposed.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) indicates a network-reachable path with no attack complexity beyond holding an authenticated user account - a meaningful but real prerequisite on most self-hosted instances. Impact metrics VC:L/VI:L/VA:L reflect that SSRF typically yields partial internal network reconnaissance and limited service interaction rather than direct code execution. No EPSS score or KEV listing is present in the input, so exploitation frequency cannot be quantified; however, the public POC on Codeberg significantly lowers attacker skill requirements. The maintainer's explicit refusal to backport is the most operationally significant signal: every Forgejo deployment on v15 or v16 must self-apply the upstream commit or adopt compensating controls, with no routine package update available. The practical risk is highest on instances with open user registration, where an external attacker can trivially obtain the authenticated session needed to exploit the flaw, and where the Forgejo host has network access to internal services such as cloud metadata endpoints or private APIs.

Exploit ScenarioDerived

An attacker who holds or creates an authenticated account on a Forgejo instance initiates a repository migration using a URL pointing to an attacker-controlled hostname. The attacker manipulates DNS so that the hostname resolves to an allowlisted external IP at the moment net.LookupIP performs the allowlist check, then resolves to an internal IP (such as a cloud metadata service or internal API) when the actual migration HTTP request is issued. Since POC code is publicly available on Codeberg issue #13433, the technique requires minimal attacker expertise beyond basic DNS control.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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

AnalysisAI

Server-side request forgery in Forgejo up to 15.0.4 allows authenticated users to bypass the repository migration IP allowlist by manipulating net.LookupIP in the migration handler, causing the Forgejo server to issue requests to internal network resources that should be unreachable. The CVSS 4.0 vector confirms network-exploitable, low-privilege access with limited but real impact across confidentiality and integrity. Publicly available exploit code exists via Codeberg issue #13433, and the project maintainer has explicitly declined to backport the fix to v15 or v16, leaving those release lines permanently exposed absent a self-applied patch.

RemediationAI

The primary fix is manual application of upstream commit b313bb83f5ff22bcc0378e0e0ca7bbd58303f168 available at https://codeberg.org/forgejo/forgejo/commit/b313bb83f5ff22bcc0378e0e0ca7bbd58303f168; administrators should monitor pull request #13490 (https://codeberg.org/forgejo/forgejo/pulls/13490) for a tagged release incorporating the fix, as no patched release version has been confirmed at time of analysis. Because the maintainer explicitly will not backport to v15 or v16, organizations that cannot apply the patch directly should implement the following compensating controls: disable the repository migration feature entirely for non-administrator roles (eliminates the vulnerable code path but removes migration functionality for regular users); restrict instance registration to prevent new external accounts from being created (reduces attacker surface but does not protect against existing authenticated users); and place the Forgejo host in a network segment without access to sensitive internal services such as cloud metadata endpoints (169.254.169.254), internal APIs, or private registries (limits SSRF blast radius but does not eliminate the vulnerability). Each workaround carries operational trade-offs and should be evaluated against the deployment's threat model.

Affected VersionsENISA

Forgejo 15.0.1
Forgejo 15.0.3
Forgejo 15.0.4
Forgejo 15.0.0
Forgejo 15.0.2

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

Forgejo is an independent open-source Git forge (fork of Gitea) written in Go. The vulnerable component is the repository migration allowlist enforcer at services/migrations/allowlist/is_migrate_allowed.go, which calls net.LookupIP to resolve a migration target hostname and compare the result against an administrator-configured IP allowlist. CWE-918 (Server-Side Request Forgery) arises here through a likely DNS rebinding or time-of-check/time-of-use race: the hostname is resolved and validated at allowlist-check time, but when the actual HTTP migration request is made the hostname may resolve to a different (internal) IP. Affected product identified by CPE cpe:2.3:a:n/a:forgejo:*:*:*:*:*:*:*:* covering all versions through 15.0.4. The upstream fix is commit b313bb83f5ff22bcc0378e0e0ca7bbd58303f168 in the Forgejo Codeberg repository.

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 (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 5.4 MEDIUM

Network-exploitable by authenticated users via the migration handler; SSRF yields limited internal network access with no availability impact and unchanged scope.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

3
CVE Published
Aug 31, 2026 - 10:50 cve.org
LOW 2.1
Severity Changed
Aug 30, 2026 - 18:22 NVD
MEDIUM LOW
CVSS changed
Aug 30, 2026 - 18:22 NVD
5.3 (MEDIUM) 2.1 (LOW)

DescriptionCVE.org

A vulnerability was found in Forgejo up to 15.0.4. This issue affects the function net.LookupIP of the file services/migrations/allowlist/is_migrate_allowed.go of the component Repository Migration Handler. Performing a manipulation results in server-side request forgery. The attack can be initiated remotely. The exploit has been made public and could be used. The patch is named b313bb83f5ff22bcc0378e0e0ca7bbd58303f168. It is recommended to apply a patch to fix this issue. The project maintainer explains: "I don't intend to backport this to v15 or v16 as it is a breaking change."

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
popular self-hosted Git forge, growing FOSS community adoption
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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-119546 MEDIUM
6.8 Oct 30

Forgejo's restore-repo CLI can be induced to read files outside the dump directory - including repository configuration

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