Skip to main content

Gitea CVE-2026-26292

| EUVDEUVD-2026-41630 CRITICAL
Improper Access Control (CWE-284)
2026-07-03 Gitea GHSA-rc56-rj3f-xggf
9.8
CVSS 3.1 · Vendor: Gitea
Share

Severity by source

Vendor (Gitea) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.1 HIGH

Configuring a mirror requires an authenticated repo-privileged user (PR:L); the bypass primarily enables SSRF-style reach to blocked hosts (C:H), with limited integrity and no clear availability impact.

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

Primary rating from Vendor (Gitea).

CVSS VectorVendor: Gitea

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Source Code Evidence Fetched
Jul 22, 2026 - 18:32 vuln.today
Analysis Generated
Jul 22, 2026 - 18:32 vuln.today
CVE Published
Jul 03, 2026 - 20:19 cve.org
CRITICAL 9.8
CVE Published
Jul 03, 2026 - 20:19 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Gitea versions before 1.25.5 do not use the migration HTTP transport for LFS push and sync mirror operations, bypassing the configured migration transport protections for those LFS requests.

AnalysisAI

Migration transport protections in Gitea are bypassed for Git LFS operations, affecting all self-hosted instances before version 1.25.5. Because LFS push and sync-mirror requests instantiated their client with a nil HTTP transport (lfs.NewClient(endpoint, nil)) instead of the hardened migration transport, LFS traffic escaped the allowlist/SSRF restrictions the migration transport enforces, letting a user who can configure a repository mirror direct LFS requests to otherwise-blocked destinations. There is no public exploit identified at time of analysis and EPSS is low (0.17%), but SSVC rates technical impact as total and automatable, and a vendor patch is available.

Technical ContextAI

Gitea is a self-hosted, lightweight Git service written in Go (cpe:2.3:a:gitea:gitea_open_source_git_server). It ships a dedicated 'migration HTTP transport' (services/migrations.NewMigrationHTTPTransport) whose purpose is to constrain outbound requests made on behalf of user-configured migrations/mirrors - for example enforcing allowed/blocked host and private-address restrictions that mitigate server-side request forgery. The root cause is CWE-284 (Improper Access Control): in services/mirror/mirror_pull.go (runSync) and services/mirror/mirror_push.go (runPushSync), the Git LFS client was created with a nil transport rather than the migration transport, so LFS object push and sync-mirror fetches did not inherit those protections. The fix (PRs #36665 and #36691) simply passes migrations.NewMigrationHTTPTransport() into lfs.NewClient for both code paths.

RemediationAI

Vendor-released patch: upgrade to Gitea 1.25.5 or later (https://github.com/go-gitea/gitea/releases/tag/v1.25.5), which routes LFS push and sync-mirror requests through the migration HTTP transport via PRs https://github.com/go-gitea/gitea/pull/36665 and https://github.com/go-gitea/gitea/pull/36691. If immediate upgrade is not possible, reduce exposure by restricting who can create or configure repository mirrors (limit mirror/migration privileges to trusted admins) and, at the network layer, place the Gitea server behind egress firewall rules that deny outbound connections to internal/private ranges and cloud metadata endpoints (e.g. 169.254.169.254, RFC1918 ranges) so bypassed LFS requests cannot reach sensitive internal targets; the trade-off is that legitimate mirrors to internal Git/LFS hosts on those ranges will also be blocked. Review the ALLOWED_HOST_LIST / BLOCKED_HOST_LIST migration settings, but be aware that pre-patch these do not fully cover the LFS path, so network egress control is the more reliable stopgap.

More in Gitea

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

CVE-2022-0905 HIGH POC
7.1 Mar 10

Missing Authorization in GitHub repository go-gitea/gitea prior to 1.16.4. Rated high severity (CVSS 7.1), this vulnerab

CVE-2022-1058 MEDIUM POC
6.1 Mar 24

Open Redirect on login in GitHub repository go-gitea/gitea prior to 1.16.5. Rated medium severity (CVSS 6.1), this vulne

CVE-2026-72867 CRITICAL
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

Share

CVE-2026-26292 vulnerability details – vuln.today

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