Skip to main content

Gitea EUVDEUVD-2026-93916

| CVE-2026-104636 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-06 88ee5874-cf24-4952-aea0-31affedb7ff2
7.5
CVSS 3.1 · Vendor: 88ee5874-cf24-4952-aea0-31affedb7ff2
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as repository admin
  2. Delivery
    Configure push mirror/migration to policy-allowed endpoint
  3. Exploit
    Endpoint returns HTTP redirect to internal address
  4. Execution
    Git client follows redirect, skips policy recheck
  5. Impact
    Reach host-policy-blocked internal service

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

Requires an authenticated repository administrator to configure a push mirror, wiki remote check, or pull-request-head migration whose remote URL targets an endpoint explicitly permitted by the outbound host policy (ALLOWED_HOST_LIST / allowed domains) that then issues an HTTP redirect to an address the policy would otherwise deny. Exploitation is meaningfully LIMITED by: (1) repo-admin privilege to set remote URLs (contradicting the vector's PR:N); (2) a restrictive outbound host policy must actually be configured, otherwise there is no boundary to bypass; (3) the attacker must control or locate an allowed endpoint that redirects to the desired internal target; and (4) realized impact is bounded by which internal services are reachable from the server and what the Git client can do with them (the advisory states impact depends on policy and reachable services). Not exploitable where no egress allow-list is enforced or where a proxy handles egress restriction.

Impact

This is CWE-918 server-side request forgery in Gitea: initial remote URLs are validated against the outbound host policy, but subsequent raw Git operations follow HTTP redirects without revalidating the destination, letting a policy-allowed endpoint redirect Gitea's Git client to an internal address the policy would block. The official CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N = 7.5) marks it network-reachable and unauthenticated, but the description explicitly states the actor is 'a repository administrator' configuring push mirrors, wiki remote checks, or migrated-PR-head fetches - a clear CONFLICT: PR:N implies no auth, yet exploitation requires an authenticated repo-admin who can set a remote URL, so the real-world privilege bar is higher than the headline score suggests. Exploitation signals are weak: EPSS is 0.15% (3rd percentile), there is no CISA KEV listing and no public exploit identified at time of analysis, indicating no observed or likely widespread exploitation. The I:H/C:N impact rating is also debatable for an SSRF - reachability of internal services typically yields confidentiality exposure rather than pure integrity impact, and the advisory itself says impact 'depends on the configured policy and the internal services reachable,' so the fixed I:H is an upper-bound assumption. Net: a legitimate security boundary bypass worth patching, but a moderate priority (authenticated admin precondition, config-dependent impact, low EPSS, no exploitation evidence) rather than a drop-everything network-unauthenticated RCE that the 7.5/PR:N framing might imply.

Exploit ScenarioDerived

A repository administrator (or an attacker who has compromised such an account) configures a push mirror or migration whose remote URL points at an endpoint permitted by ALLOWED_HOST_LIST but which returns an HTTP redirect to an internal-only address such as a cloud metadata service or an intranet admin panel. Because the raw Git operation follows the redirect without re-checking the outbound host policy, Gitea's server issues requests to that blocked internal destination. No public proof-of-concept is identified; the attack requires network access to the Gitea instance plus repo-admin rights, with complexity low once a redirecting allowed endpoint is available.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 07, 2026

Server-side request forgery in Gitea (versions up to and including 1.27.3) lets a repository administrator bypass the configured outbound host policy: Gitea validates the initial remote URL for push mirrors, wiki remote checks, and migrated pull-request heads, but the raw Git operation that follows will chase an HTTP redirect to an address the policy would otherwise block, causing the server's Git client to reach internal services. Exploitation is meaningfully constrained - it requires repository-administrator privileges, a restrictive egress allow-list must actually be configured, and the attacker must control or locate an allow-listed endpoint that redirects to the desired internal target - so the realized impact is bounded by which internal services are reachable from the Gitea host. EPSS is 0.15% (3rd percentile), no public exploit identified at time of analysis, and there is no CISA KEV listing, so exploitation appears opportunistic and low-volume rather than confirmed actively exploited. Note that the published CVSS vector (7.5, PR:N) overstates the privilege requirement; our assessment rates it PR:L with limited confidentiality and integrity impact.

RemediationAI

Vendor-released patch: Gitea 28.0.0 (the release referenced by the vendor, containing upstream fix PR https://github.com/go-gitea/gitea/pull/39426); upgrade to 28.0.0 or later, and consult the advisory at https://github.com/go-gitea/gitea/security/advisories/GHSA-g4hw-fg4c-89mq and the release notes at https://github.com/go-gitea/gitea/releases/tag/v28.0.0 and https://blog.gitea.com/release-of-28.0.0/. If immediate upgrade is not possible, set the new egress controls to their tightest form once available by running [security] EGRESS_MODE = strict so that every destination - public hosts included - must appear explicitly in the allow-list, keep the allow-list as narrow as possible (prefer specific CIDR/port entries over '*'), and use [migrations] BLOCKED_HOST_LIST to deny metadata ranges outright; be aware that in the older lax behaviour portless entries cover all ports and every public address is permitted, which is precisely the condition that makes this bypass useful. Reduce the attack surface by restricting who holds repository-administrator rights and by disabling push mirrors, wiki remote checks, and pull-request-head migration for untrusted users, since the flaw requires such an administrator to point a remote URL at an allow-listed redirector. Alternatively, force Git egress through a forward proxy that performs its own allow-listing - but note the trade-off documented in the fix: when a proxy is configured Gitea stops enforcing ALLOWED_HOST_LIST on the proxied target, so the proxy must fully take over that duty or the exposure remains. The new implementation denies reserved addresses such as link-local and cloud metadata endpoints, which closes the highest-value SSRF targets; until patched, consider host-level egress filtering to block the Gitea server from reaching 169.254.0.0/16 and internal management networks.

Affected VersionsENISA

Gitea 0 ≤1.27.3

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

This is CWE-918 (server-side request forgery) arising from a validate-then-fetch split in Gitea's egress handling. Gitea enforces an outbound host policy - historically expressed as [security] ALLOWED_HOST_LIST and [migrations] ALLOWED_DOMAINS / BLOCKED_DOMAINS / ALLOW_LOCALNETWORKS - against the remote URL supplied for a push mirror, a wiki remote check, or a migrated pull-request head. That validation happens on the literal, initially configured URL, but the subsequent raw Git transport (clone/fetch/ls-remote) performs its own HTTP requests and follows 3xx redirects without re-checking the redirect destination, so any host permitted by the policy can act as an open redirector into loopback, RFC 1918, CGNAT, link-local, or cloud metadata addresses. The upstream fix (PR #39426, shipped in the 28.0.0 release) restructures this into a dedicated gitproxy service and reworks the configuration model: a new EGRESS_MODE toggle with 'lax' (public addresses always allowed, private/loopback/CGNAT checked against the list) and 'strict' (every destination must be explicitly allowed), port-scoped allow-list entries such as 192.168.1.0/24:3000, [2001:db8::/32]:9090, bracketed port sets *.mydomain.com:[80|443|3000-3010], and a BLOCKED_HOST_LIST for migrations and mirrors. Importantly, the new documentation states that when an HTTP/SOCKS5 proxy is configured (via [proxy], [git.config] http.proxy, or the environment), Gitea no longer enforces its egress lists on the proxied target and the proxy server is expected to apply the restriction - a caveat that also matters for anyone treating a proxy as their mitigation.

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 (88ee5874-cf24-4952-aea0-31affedb7ff2) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 5.4 MEDIUM

Repo-admin must configure the remote URL so PR:L (not PR:N); a redirecting allowed endpoint makes AC:L; SSRF yields limited, config-dependent internal reachability so C:L/I:L, A:N.

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 (88ee5874-cf24-4952-aea0-31affedb7ff2).

CVSS VectorVendor: 88ee5874-cf24-4952-aea0-31affedb7ff2

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

Lifecycle Timeline

3
CVSS changed
Oct 07, 2026 - 21:23 NVD
7.5 (HIGH)
CVE Published
Oct 06, 2026 - 20:17 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 06, 2026 - 20:17 cve.org
HIGH 7.5

DescriptionCVE.org

Gitea validated the initial remote URL for push mirrors, wiki remote checks, and fetches of migrated pull request heads, but the subsequent raw Git operations followed HTTP redirects without revalidating the destination. A repository administrator using a policy-allowed endpoint that redirects could make Gitea's Git client send requests to an address that the outbound host policy would otherwise block. The impact depends on the configured policy and the internal services reachable from the server.

Technical POC Analysis

CWE-918 (SSRF) via a check-then-use gap in Gitea's outbound URL policy enforcement.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Gitea instances running versions up to and including 1.27.3 carry a high-severity server-side request forgery flaw that could allow a repository administrator to reach internal services the organization's outbound egress policy is intended to block, potentially exposing internal APIs, administrative interfaces, or cloud metadata endpoints. Exploitation is meaningfully constrained - it requires repository-administrator privileges, an actual restrictive egress allow-list, and an allow-listed endpoint the attacker controls or can locate that redirects to the internal target - so exposure concentrates in organizations that grant broad repository-admin rights or host Gitea inside the trusted network perimeter. Leadership should care because Gitea is a developer-facing system with elevated trust, and no vendor-released patch has been identified at time of analysis.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce default-deny outbound egress from the Gitea host to internal ranges, loopback, link-local and cloud metadata endpoints; block HTTP redirects at the egress proxy; disable push mirrors, wiki remote checks, and pull-request migration features; and restrict repository-administrator privileges to trusted personnel.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
popular self-hosted Git service, common but not universally deployed
Data Quality
7 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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

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

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

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