Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
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
Lifecycle Timeline
4DescriptionCVE.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.
Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r
Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp
The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir
Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea
Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any
Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec
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
Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica
An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita
Missing Authorization in GitHub repository go-gitea/gitea prior to 1.16.4. Rated high severity (CVSS 7.1), this vulnerab
Open Redirect on login in GitHub repository go-gitea/gitea prior to 1.16.5. Rated medium severity (CVSS 6.1), this vulne
Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us
Same weakness CWE-284 – Improper Access Control
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41630
GHSA-rc56-rj3f-xggf